我需要创建在第一次创建地图时显示用户位置的应用。在onMapReady
方法中,我设置了map.setMyLocationEnabled(true);
在清单中,我添加了以下权限,以允许GPS和网络位置跟踪ACCESS_FINE_LOCATION
。但是当我试图获得map.getMyLocation()
时,它会返回null
。请帮我解决这个问题。
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
map.setMyLocationEnabled(true);
map.getMyLocation(); // returns always null
}
UPD:在onClick上没有任何位置按钮((
答案 0 :(得分:0)
actual documentation表示getMyLocation()
" 如果没有可用的位置数据,则返回当前显示的用户位置或null 。"
因此,显然您没有可用的位置数据,并且代码按照记录的方式工作。
GPS可能无法在室内工作,无论如何可能需要一段时间才能获得GPS定位。将SIM卡插入手机将有助于获得GPS定位(通过"辅助GPS"),即使没有找到GPS,它也可以根据蜂窝网络获得粗略的位置。