目前使用此代码
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)));
}
我没有问题,但我的问题是,如果我在一个城市中有50个标记,所有的图标都在彼此之上。
是否可以限制地图缩小时显示的图标数量?或者更好的练习
您可以添加侦听器以在更新时检查缩放并隐藏所需的标记
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();
}
}
});