我有一些代码可以显示该位置的Google地图(36.1302,5.524),并在此位置标记。我用这个位置创建了标记,问题是标记显示在错误的位置。
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng latLng = new LatLng(mLatitude,mLongitude);
MarkerOptions options = new MarkerOptions()
.position(latLng)
.title("I am here!");
googleMap.addMarker(options);
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
}
答案 0 :(得分:1)
这是因为您的mLatitude
和mLongitude
值可能为0,而地图上绘制的位置为0,0
。
这主要是因为您在设置值之前使用mLatitude
和mLongitude
变量。发生这种情况是因为onMap
ready很早就在活动生命周期中被调用,而从传感器获取坐标需要一些时间。
尝试在onLocationChanged(Location location)
回调方法中添加标记。