Android 在谷歌地图上找到我的位置
我试图让应用程序在谷歌地图上显示我的位置,但在我的手机上打开应用程序时,它总是打开相同的位置,这是我在代码中添加的值,作为编译器测试的初始值。 如何使其显示我的位置(使其根据我的位置更改纬度和经度) 代码如下: 公共类AndroidGoogleMapsActivity扩展了MapActivity{Android 在谷歌地图上找到我的位置,android,google-maps,location,Android,Google Maps,Location,我试图让应用程序在谷歌地图上显示我的位置,但在我的手机上打开应用程序时,它总是打开相同的位置,这是我在代码中添加的值,作为编译器测试的初始值。 如何使其显示我的位置(使其根据我的位置更改纬度和经度) 代码如下: 公共类AndroidGoogleMapsActivity扩展了MapActivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
@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;
}
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//显示缩放控件
MapView MapView=(MapView)findViewById(R.id.MapView);
mapView.SetBuilTinZoomControl(真);
/**
*更改地图类型
* */
mapView.setSatellite(true);//卫星视图
//mapView.setStreetView(true);//街景
setTraffic(true);//流量视图
/**
*通过纬度和经度显示位置
* */
MapController mc=mapView.getController();
双lat=double.parseDouble(“31.894178”);
double lon=double.parseDouble(“35.872694”);
地质点地质点=新的地质点((int)(lat*1E6),(int)(lon*1E6));
司仪(地点);;
mc.setZoom(15);
mapView.invalidate();
/**
*放置标记
* */
List mapOverlays=mapView.getOverlays();
Drawable Drawable=this.getResources().getDrawable(R.Drawable.mark_red);
AddItemizedOverlay项IzedOverlay=
新添加物(可拉伸,本);
OverlayItem OverlayItem=新的OverlayItem(地质点,“你好”,“样本覆盖项”);
itemizedOverlay.addOverlay(overlayitem);
添加(itemizedOverlay);
}
@凌驾
受保护的布尔值isRouteDisplayed(){
返回false;
}
}您从未调用实际的GPS,这就是为什么它会恢复为您编程的GPS。这在其他地方有很好的记录,但这里有一个很好的起点:参见;这是一个简单的方法,对我来说很有效。干杯