Android GoogleMap和getMapAsync

Android GoogleMap和getMapAsync,android,google-maps-android-api-2,Android,Google Maps Android Api 2,我正试图找到一种方法,在我的代码中正确地实现getmapsync(),在这里我将不得不处理很多googleMarker。正如您所知,getmapsync()在onMapReady中准备好此映射时,将返回一个非空映射 因此,基本上我必须在onMapReady中完成所有关于标记的工作。问题是,在我的各种代码中,我使用map.addMarker(newmarkeroptions())调用在onMapReady中初始化的google标记,但我不知道这些标记是否已经初始化(我可以在onMapReady中添

我正试图找到一种方法,在我的代码中正确地实现
getmapsync()
,在这里我将不得不处理很多google
Marker
。正如您所知,
getmapsync()
onMapReady
中准备好此映射时,将返回一个非空映射

因此,基本上我必须在
onMapReady
中完成所有关于标记的工作。问题是,在我的各种代码中,我使用
map.addMarker(newmarkeroptions())
调用在
onMapReady
中初始化的google标记,但我不知道这些标记是否已经初始化(我可以在
onMapReady
中添加
布尔值
,以了解我的
标记
是否在初始化位置,但如果该布尔值为
false
我该怎么办?不要使用标记?)


因此,基本上,我希望能够获得与同步
getMap()
方法相同的行为,但是我将确保获得一个非空映射。因为我非常确定我不能在我的主线程上添加“服务员”(例如
CountdownLatch
)我找不到一种方法来等待映射准备就绪,然后再继续我的主线程中的其余代码。谢谢你

解决方案确实如@Selvin所述,操作并存储
MarkerOptions
变量。为了将
MarkerOptions
变量的更改反映到我的映射中,我创建了一个如下方法ng:

public void reloadMarkersOnTheMap() {
    if (isMapInitialised) {
        map.clear();
        map.addMarker(pickupMarker);
        map.addMarker(dropOffMarker);
    }
}

然后,解决方案是使用my
MarkerOptions
变量的修改值清除my
Marker
并将其从/重新添加到
GoogleMap
。如果
IsMapiInitialized==false
,则我的标记将在
OnMaReady()

中使用其最新修改进行初始化,这显然是一个解决方案调用“adding code”从两个位置(创建标记和onMapReady)…在“添加代码”中检查映射是否准备就绪,如果没有,将标记存储在标记变量列表(字段)…如果映射准备就绪,则添加标记并从列表中添加所有标记,清除列表…当然添加一些线程竞赛检查
,如果没有,则将标记存储在标记变量列表(字段)中
markers实例通过
map.addMarker(新MarkerOptions())检索
,如果我想有一个
标记
实例,
地图需要初始化。嗯,好的,好的…所以存储标记选项列表或创建它们所需的其他数据…但是你得到了一般概念吗?你需要一些像挂起的标记(或用于创建它们的数据)添加…这就是我所做的。但想象一下我所做的:
myMarkerOption.icon(xx)
在我的
MarkerOption
实例上,我认为它不会自动触发到地图上相应的
标记上(无论是否已初始化),会吗?将
标记选项
存储在var中对我来说是不可行的,因为使用其设置程序不会反映
标记