手动设置纬度和经度后谷歌地图不显示(缩放到)当前位置[重复]
Posted
技术标签:
【中文标题】手动设置纬度和经度后谷歌地图不显示(缩放到)当前位置[重复]【英文标题】:Google Map Not Showing (Zoom to) Current Location After Set Latitude and Longitude manually [duplicate] 【发布时间】:2015-08-11 18:41:49 【问题描述】:我想使用自定义纬度和经度显示我当前的位置,我在 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));
地图已显示,但没有像往常一样用蓝点显示我的当前位置,有人可以帮忙吗?
【问题讨论】:
您是否在 onCreated 方法中设置了回调 onlocation 更新。如果不试试这个答案***.com/a/17591377/1676666 【参考方案1】:您可以尝试在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]
【讨论】:
仍然没有工作的人......你还有其他建议吗? 你有没有为 lat 和 lon 的 location.setLatitude(lat); location.setLongitude(lon);,这些值是什么? 我更新了我的答案,使用 CameraUpdateFactory.newLatLngZoom 而不是 CameraUpdateFactory.zoomTo(12)以上是关于手动设置纬度和经度后谷歌地图不显示(缩放到)当前位置[重复]的主要内容,如果未能解决你的问题,请参考以下文章