gpt4 book ai didi

android - 数据可用后将标记添加到 Google map ?

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:07 25 4
gpt4 key购买 nike

我正在尝试使用从我的数据库中检索的经度/纬度向我的谷歌地图添加标记。但是,我似乎无法让它在 onMapReady 之外添加标记。

我的 Activity 布局中的 map fragment

<fragment android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="400dp"/>

创建时

mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);

OnMapReady

@Override
public void onMapReady(GoogleMap map) {
map.addMarker(new MarkerOptions()
.position(new LatLng(1, 1))
.title("jjj"));
}

我基本上需要获得对 map 的引用,以便我可以在 OnMapReady 方法之外添加标记。

最佳答案

这是正确的做法,异步加载 map 。如果您真的想在 onMapReady 方法之外设置一个标记,请考虑在此类中添加一个新属性,该属性将保留对您在 onMapReady 中获得的 GoogleMap 对象的引用 方法。但调用此属性时请注意,因为它可能尚未设置(NullPointerException)!此外,当您不再需要该属性时,您可能希望取消设置该属性,这样就不会发生内存泄漏。

...

private GoogleMap mMyGoogleMap;

...

@Override
public void onMapReady(GoogleMap map) {
mMyGoogleMap = map;
}

关于android - 数据可用后将标记添加到 Google map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43864476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com