Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android谷歌地图加载可见标记_Android_Google Maps - Fatal编程技术网

Android谷歌地图加载可见标记

Android谷歌地图加载可见标记,android,google-maps,Android,Google Maps,如何在谷歌地图上加载屏幕上的可见标记? 我正在使用方法SetOnCamerachenglistener,但有一个bug。当我缩放地图并移动到屏幕外的另一个标记时,该标记丢失。当我缩小或放大时,标记将可见。有人能帮我吗? 这是我的密码 mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() { @Override public void onCameraChange(

如何在谷歌地图上加载屏幕上的可见标记? 我正在使用方法SetOnCamerachenglistener,但有一个bug。当我缩放地图并移动到屏幕外的另一个标记时,该标记丢失。当我缩小或放大时,标记将可见。有人能帮我吗? 这是我的密码

mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
            @Override
            public void onCameraChange(CameraPosition cameraPosition) {
                ClusterManager<MyItem> myItemClusterManager = getmClusterManager();
                myItemClusterManager.clearItems();
                if(mMap!=null) {
                    LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
                    for (MyItem item : visibleMarkers) {
                        if (bounds.contains(item.getPosition())) {
                            myItemClusterManager.addItem(item);
                        }
                    }
                }
            }
        });
mMap.setOnCameraChangeListener(新GoogleMap.OnCameraChangeListener(){
@凌驾
CameraChange上的公共无效(CameraPosition CameraPosition){
ClusterManager myItemClusterManager=GetMcClusterManager();
myItemClusterManager.clearItems();
如果(mMap!=null){
LatLngBounds bounds=mMap.getProjection().getVisibleRegion().LatLngBounds;
对于(MyItem:visibleMarkers){
if(bounds.contains(item.getPosition())){
myItemClusterManager.addItem(项目);
}
}
}
}
});

在将新项目添加到您的
myItemClusterManager
后,您是否尝试过重新分类?只需执行
myItemClusterManager.cluster()
在您的
循环之后,就可以了,非常感谢dude:)