私は、ユーザーが位置をカスタマイズできるとき、マーカー作成アクティビティを持っています。このアクティビティが終了したら、私は新しい、そしてより鮮明なマーカーをGoogleマップに配置したいと思います。手動でGoogleマップを更新するには?
onMapReady(GoogleMap googleMap)
をそれが正常に動作しない:私はこの機能を使用しています
(そのマップを更新)。変更を確認するには、アプリをいったん終了してからもう一度開く必要があります。
私は、ユーザーが位置をカスタマイズできるとき、マーカー作成アクティビティを持っています。このアクティビティが終了したら、私は新しい、そしてより鮮明なマーカーをGoogleマップに配置したいと思います。手動でGoogleマップを更新するには?
onMapReady(GoogleMap googleMap)
をそれが正常に動作しない:私はこの機能を使用しています
(そのマップを更新)。変更を確認するには、アプリをいったん終了してからもう一度開く必要があります。
アクティビティ/フラグメントでonResume
を上書きすると、マーカー作成アクティビティが終了してから作業を行うことができます。 GoogleMap
オブジェクトをグローバルとして設定した場合、そこにはonMapReady
のように地図を更新できます。たとえば:
GoogleMap mGoogleMap;
...
...onMapReady(GoogleMap googleMap){
mGoogleMap = googleMap;
...
}
@Override
public void onResume(){
super.onResume();
if(mGoogleMap != null){ //prevent crashing if the map doesn't exist yet (eg. on starting activity)
mGoogleMap.clear();
// add markers from database to the map
}
}
はあなたのマーカーがあなたのコードのメンテナンス性の向上のためにonResume
とonMapReady
に呼び出される関数に追加することを検討できます。
関数onResumeで '(GoogleMap googleMap)'を取得して、mGoogleMapをgoogleMapにするにはどうすればよいですか? –
@mosómaci 'onMapReady'関数では、' onGoogleMap'を 'googleMap'に代入して、' onResume'コードの実行時にマップオブジェクトを使うようにしました。 – T3KBAU5
ありがとう、私は今それを得る。 –
try mMap.clear(); – Elsunhoty