Google 地图在手动设置纬度和经度后不显示(缩放到)当前位置
Google Map Not Showing (Zoom to) Current Location After Set Latitude and Longitude manually
我想使用自定义纬度和经度显示我的当前位置,我在 Location 对象中设置了纬度和经度,如下所示:
Location location = new Location ("");
location.setLatitude(lat);
location.setLongitude(lon);
之后我调用 onLocationChanged(location) 方法,方法是这样的:
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
mLatitude = location.getLatitude();
mLongitude = location.getLongitude();
LatLng latLng0 = new LatLng(mLatitude, mLongitude);
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng0));
mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(12));
}
地图已显示,但没有像往常一样用蓝点显示我当前的位置,有人可以帮忙吗?
您可以尝试 运行 您的代码 GoogleMap.OnMapLoadedCallback
喜欢:
mGoogleMap.setOnMapLoadedCallback(new OnMapLoadedCallback(){
@Override
public void onMapLoaded() {
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng0));
mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(12));
}
});
更新:
mGoogleMap.setOnMapLoadedCallback(new OnMapLoadedCallback(){
@Override
public void onMapLoaded() {
mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng0,12));
}
});
正在使用
mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng0,12));
而不是
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng0));
mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(12));
因为代码CameraUpdateFactory.zoomTo(12)
没有设置纬度和经度,所以值将以[0,0]初始化。
那会让你的地图中心到 [0,0]
我想使用自定义纬度和经度显示我的当前位置,我在 Location 对象中设置了纬度和经度,如下所示:
Location location = new Location ("");
location.setLatitude(lat);
location.setLongitude(lon);
之后我调用 onLocationChanged(location) 方法,方法是这样的:
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
mLatitude = location.getLatitude();
mLongitude = location.getLongitude();
LatLng latLng0 = new LatLng(mLatitude, mLongitude);
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng0));
mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(12));
}
地图已显示,但没有像往常一样用蓝点显示我当前的位置,有人可以帮忙吗?
您可以尝试 运行 您的代码 GoogleMap.OnMapLoadedCallback 喜欢:
mGoogleMap.setOnMapLoadedCallback(new OnMapLoadedCallback(){
@Override
public void onMapLoaded() {
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng0));
mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(12));
}
});
更新:
mGoogleMap.setOnMapLoadedCallback(new OnMapLoadedCallback(){
@Override
public void onMapLoaded() {
mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng0,12));
}
});
正在使用
mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng0,12));
而不是
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng0));
mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(12));
因为代码CameraUpdateFactory.zoomTo(12)
没有设置纬度和经度,所以值将以[0,0]初始化。
那会让你的地图中心到 [0,0]