2017-03-19 1 views
0

私はこの解決策を試しましたShow Current Location inside Google Map FragmentはDaniel Nugentによって回答されました。現在の位置を表示しますが、片側にピンがあり、反対側に青い点があります

しかし、ここにバグがあります。最初にピンと(青い点)が同じ位置にとどまるが、あなたの場所を変更したときには、青い点の変更位置のピンは古い位置にとどまっていた。

つだけの時間は、1つのセクションでは、あまりにも多くの混乱を引き起こしていたので、私は、元の答えを更新しGoogleAPI

@Override 
public void onLocationChanged(Location location){} 

Pin and blue dot

+0

? – antonio

+2

Danielの答えは、 'onLocationChanged()'の中の位置更新を取り除きます。複数の場所の更新を受け取るようにリクエストを移動してください。 –

+0

http://pastebin.com/sFSNNVPZここに@antonio – storks

答えて

0

によってオーバーライドメソッドに入力します。

onLocationChanged()オーバーライドでremoveLocationUpdates()への呼び出しを削除し、最初の1が受信された後に行く場所の更新を保つために:あなたは `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)); 

} 
関連する問題