限制谷歌地图上的图标数量取决于缩放距离
Posted
技术标签:
【中文标题】限制谷歌地图上的图标数量取决于缩放距离【英文标题】:Limit Amount of icons on google map depends on zoom distance 【发布时间】:2019-04-17 10:28:57 【问题描述】:目前正在使用此代码
ArrayList<MarkerData> markersArray = new ArrayList<MarkerData>();
for(int i = 0 ; i < markersArray.size() ; i++)
createMarker(markersArray.get(i).getLatitude(), markersArray.get(i).getLongitude(), markersArray.get(i).getTitle(), markersArray.get(i).getSnippet(), markersArray.get(i).getIconResID());
protected Marker createMarker(double latitude, double longitude, String title, String snippet, int iconResID)
return googleMap.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.anchor(0.5f, 0.5f)
.title(title)
.snippet(snippet)
.icon(BitmapDescriptorFactory.fromResource(iconResID)));
我对此没有任何问题,但我的问题是,如果我在 1 个城市有 50 个标记,所有图标都在彼此之上。
有没有办法限制地图缩小时显示的图标数量?或者更好的做法
【问题讨论】:
您考虑过标记聚类方法吗? developers.google.com/maps/documentation/android-sdk/utility/… 【参考方案1】:您可以添加一个监听器以在更新时检查缩放并隐藏您想要的标记
googleMap.setOnCameraChangeListener(new OnCameraChangeListener()
private float currentZoom = mMap.zoom;
@Override
public void onCameraChange(CameraPosition newPosition)
if (newPosition.zoom < currentZoom)
// remove a particular marker
yourMarker.remove();
// or remove all the markers
googleMap.clear();
);
【讨论】:
我认为如果缩放级别太低,最好的方法是隐藏所有标记以上是关于限制谷歌地图上的图标数量取决于缩放距离的主要内容,如果未能解决你的问题,请参考以下文章