我试过这个解决方案Show Current Location inside Google Map Fragment由Daniel Nugent回答。
但这是bug。首先,当您找到Pin和(蓝色圆点)保持在相同位置时,但是当您更改位置时,只有蓝点更改位置Pin停留在旧位置。
GoogleAPI只有一次输入覆盖方法
@Override
public void onLocationChanged(Location location){}
答案 0 :(得分:0)
我更新了原来的答案,因为这一段引起了太多的混淆。
为了在收到第一个更新后保持位置更新,请移除removeLocationUpdates()
覆盖中onLocationChanged()
的来电:
@Override
public void onLocationChanged(Location location)
{
mLastLocation = location;
if (mCurrLocationMarker != null) {
mCurrLocationMarker.remove();
}
//Place current location marker
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Position");
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
mCurrLocationMarker = mGoogleMap.addMarker(markerOptions);
//move map camera
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,11));
}