显示当前位置,但一侧是针脚,另一侧是蓝点

时间:2017-03-19 20:49:48

标签: android google-maps google-maps-android-api-2

我试过这个解决方案Show Current Location inside Google Map Fragment由Daniel Nugent回答。

但这是bug。首先,当您找到Pin和(蓝色圆点)保持在相同位置时,但是当您更改位置时,只有蓝点更改位置Pin停留在旧位置。

GoogleAPI只有一次输入覆盖方法

@Override
public void onLocationChanged(Location location){}

Pin and blue dot

1 个答案:

答案 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));

}