2011-02-01 31 views
0

如何编写使用谷歌地图Javascript API第3服务的机器人程序编写一个程序,我使用的Eclipse ...如何使用谷歌地图的JavaScript apiv3

http://code.google.com/apis/maps/documentation/javascript/services.html#Directions

从上面的链接,我有因为我想尝试方向的例子,但他们已经在那里使用了一些html代码,但是我必须在我的eclipse的新项目中编写html脚本代码,以及以后应该如何链接html和android代码..

我有也看到有人说我们需要在我们的代码中包含http://maps.google.com/maps/api/js?sensor=false脚本..如何包含t他..?

请给我建议,在此先感谢..

回答

0

加载网页到Android应用程序是使用的WebView完成。因此,您可能会使用它在原生Android应用程序中加载Maps API网站。 How To.

+0

您好感谢,我已经通过该网站有他们使用一些Java脚本获得网站的功能,但走了我应该在哪里,我的Eclipse Java项目.. – manju 2011-02-02 05:49:00

0

请尝试下面的代码。这对我来说可以。

//First add permission in manifest file: 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 



public class webViewes extends Activity { 
private static String PROVIDER="gps"; 
private WebView browser; 
private LocationManager myLocationManager=null; 

@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 
    browser=(WebView)findViewById(R.id.webview); 
    myLocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    browser.getSettings().setJavaScriptEnabled(true); 
    browser.addJavascriptInterface(new Locater(), "locater");  
    browser.loadUrl("http://gmaps-samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html"); 
} 

@Override 
public void onResume() { 
    super.onResume(); 
    myLocationManager.requestLocationUpdates(PROVIDER, 0, 0, onLocation); 
} 

@Override 
public void onPause() { 
    super.onPause(); 
    myLocationManager.removeUpdates(onLocation); 
} 

LocationListener onLocation=new LocationListener() { 
    public void onLocationChanged(Location location) { 
    StringBuilder buf=new StringBuilder("javascript:whereami("); 

    buf.append(String.valueOf(location.getLatitude())); 
    buf.append(","); 
    buf.append(String.valueOf(location.getLongitude())); 
    buf.append(")"); 

    browser.loadUrl(buf.toString()); 
    } 

    public void onProviderDisabled(String provider) { 
    } 
    public void onProviderEnabled(String provider) { 
    } 
    public void onStatusChanged(String provider, int status,Bundle extras) { 
    } 
}; 

public class Locater { 
    public String getLocation() throws JSONException { 
    Location loc=myLocationManager.getLastKnownLocation(PROVIDER); 

    if (loc==null) { 
     return(null); 
    } 

    JSONObject json=new JSONObject(); 

    json.put("lat", loc.getLatitude()); 
    json.put("lon", loc.getLongitude()); 

    return(json.toString()); 
    } 
} 

}