我正在尝试让应用程序在谷歌地图上用geapoint显示我的位置,但它在我的手机上打开应用程序时总是打开相同的位置,这是我在代码中添加的值作为初始值在编译器上测试。 如何让它显示我的位置(根据我的位置改变纬度和经度)?
这是代码:
公共类AndroidGoogleMapsActivity扩展了MapActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Displaying Zooming controls
MapView mapView = (MapView) findViewById(R.id.mapView);
mapView.setBuiltInZoomControls(true);
/**
* Changing Map Type
* */
mapView.setSatellite(true); // Satellite View
// mapView.setStreetView(true); // Street View
mapView.setTraffic(true); // Traffic view
/**
* showing location by Latitude and Longitude
* */
MapController mc = mapView.getController();
double lat = Double.parseDouble("31.894178");
double lon = Double.parseDouble("35.872694");
GeoPoint geoPoint = new GeoPoint((int)(lat * 1E6), (int)(lon * 1E6));
mc.animateTo(geoPoint);
mc.setZoom(15);
mapView.invalidate();
/**
* Placing Marker
* */
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.mark_red);
AddItemizedOverlay itemizedOverlay =
new AddItemizedOverlay(drawable, this);
OverlayItem overlayitem = new OverlayItem(geoPoint, "Hello", "Sample Overlay item");
itemizedOverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedOverlay);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
答案 0 :(得分:0)
你永远不会调用实际的GPS,这就是为什么它会恢复到你编程的那个。这在其他地方已有很好的记录,但这里是一个很好的起点:http://about-android.blogspot.com/2010/04/find-current-location-in-android-gps.html
答案 1 :(得分:0)
见Location detection;这是做到这一点的简单方法,它对我有用。干杯!