0

所以我已经使用自己的手持设备开发了这个应用程序几个星期了,今天我试图让谷歌地图以我的应用程序中的当前用户位置为中心

map.setMyLocationEnabled(true); //Locate the current position of the user

上面的 setLocationEnabled(true) 通常应该在地图上显示用户的位置,当按下 GPS 按钮时,它会放大它。但是,在我添加以下代码后,它不再起作用,它不再显示用户的位置,而且我还注意到“Google 设置”已安装到我的设备上,环顾四周后,它是 Google 的更新,所以它可能不会成为代码本身。但我不知道谷歌设置是否是造成这种情况的原因。

LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = service.getBestProvider(criteria, false);
    Location location = service.getLastKnownLocation(provider);
    LatLng userLocation = new LatLng(location.getLatitude(),location.getLongitude());
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(userLocation, 15));

即使在注释掉这段代码之后,问题仍然存在。我不知道如何解决这个问题,我希望有人可以帮助我。我不确定这是否与代码本身或仅与我的设备有关,即使它在过去几周内一直在工作并且它没有给出任何错误或警告,它也根本无法获取用户的位置即使按下我地图上的 GPS 按钮也不会出现任何错误或警告。

编辑:我尝试为这个应用程序使用我的代码的旧工作版本,但它仍然无法让用户位置出现在地图上。

谢谢。

4

1 回答 1

0

为什么你不使用:

map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(map.getMyLocation().getLatitude(),map.getMyLocation().getLongitude()), 15));

地图存储您的实际位置,因此您不需要LocationManager上课。

于 2013-02-27T13:18:24.380 回答