如何手动刷新谷歌地图?

5 android google-maps

我有一个标记 - 创建活动,当用户可以自定义位置时。此活动关闭后,我想在我的谷歌地图上放置新的和早期保存的标记。(所以更新地图)

我正在使用这个功能:

onMapReady(GoogleMap googleMap)
Run Code Online (Sandbox Code Playgroud)

但它不能正常工作。我必须关闭并重新打开应用程序才能看到更改。

T3K*_*AU5 4

如果您onResume在活动/片段中进行覆盖,则可以在标记创建活动关闭后进行工作。在那里,您可以像将对象onMapReady设置GoogleMap为全局一样更新地图。例如:

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
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以考虑将标记添加到被调用的函数中onResume,并使onMapReady代码更易于维护。