手动设置纬度和经度后谷歌地图不显示(缩放到)当前位置[重复]

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)

以上是关于手动设置纬度和经度后谷歌地图不显示(缩放到)当前位置[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从谷歌地图获取经度和纬度的不断更新[重复]

如何使用从服务中检索到的纬度和经度并在地图上显示它们?

谷歌地图用纬度和经度设置有限区域

怎么查经纬度准确地点

我想通过从 json 获取经度和纬度在谷歌地图上显示标记

将应用上传到 Playstore 后谷歌地图不显示