确定谷歌地图瓦片已加载

3

我正在我的扩展FragmentActivity的Android Activity中显示Google地图。地图从xml布局中加载,如下所示:

<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ad_layout"
class="com.google.android.gms.maps.SupportMapFragment" />

只有当地图瓦片下载完成后用户才能在地图上执行某些功能。除了明显地查看地图外,是否有一种确定地图瓦片已经下载完成并可见的方法?


如何检测TileOverlay何时完成下载瓦片的重复问题。 - MaciejGórski
我不同意提出的重复问题。这个问题是在询问基础地图瓦片是否已经加载。而另一个问题则是在询问是否已经加载了额外的自定义TileOverlay。 - Scott W
我自己没有找到方法来实现这个。我相当确定这是一个API的限制,并已向地图团队提出了功能请求。请给它加星以便引起更多关注 :) https://code.google.com/p/gmaps-api-issues/issues/detail?id=5779 - Scott W
2个回答

1

1

设置一个onCameraChangeListener,当地图加载完成后将触发该事件。在那时执行您想要执行的操作,然后删除侦听器,以便它仅发生一次。

map.setOnCameraChangeListener(new OnCameraChangeListener() {

        @Override
        public void onCameraChange(CameraPosition arg0) {

            //TODO: move camera, do whatever you need to do etc...

            // remove listener so that position is not reset when user touches map
            map.setOnCameraChangeListener(null);
        }
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接