Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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_Android Maps Extensions - Fatal编程技术网

如何通过Android地图扩展来放大集群?

如何通过Android地图扩展来放大集群?,android,google-maps,android-maps-extensions,Android,Google Maps,Android Maps Extensions,有时,当标记彼此非常接近时,需要多次单击以进行足够的缩放,以便集群展开并单独显示所有标记 如何使单击一个簇就可以正确地放大和展开它?如果要缩放以显示单个簇中的所有标记,可以只显示其中的一些标记。如果您同意,以下是步骤(例如,在onMarkerClick中): 检查标记.isCluster是否 循环使用Marker.getMarkers 对于每个标记调用GoogleMap.getMinZoomLevelNotClustered,记住循环中的最大值 循环调用GoogleMap.animateCam

有时,当标记彼此非常接近时,需要多次单击以进行足够的缩放,以便集群展开并单独显示所有标记


如何使单击一个簇就可以正确地放大和展开它?

如果要缩放以显示单个簇中的所有标记,可以只显示其中的一些标记。如果您同意,以下是步骤(例如,在
onMarkerClick
中):

  • 检查标记.isCluster是否
  • 循环使用
    Marker.getMarkers
  • 对于每个标记调用
    GoogleMap.getMinZoomLevelNotClustered
    ,记住循环中的最大值
  • 循环调用
    GoogleMap.animateCamera
    后,使用一些
    LatLng
    和最大的缩放值
这里的问题是决定选择什么
LatLng
。如果从“簇标记”中选择一个标记,则缩放后甚至可能不显示任何标记


或者,您可能希望缩放到从群集中的所有标记创建的
LatLngBounds
。这不会显示所有标记,但可以肯定的是,最终所有标记仍会隐藏在屏幕上的某个位置。

我必须添加一个测试,以检查
getMinZoomLevelNotClustered
是否返回
Float。正_∞
且不计入其中。解决方案如下: