当前正在使用此代码
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马克,则所有图标都彼此重叠。
如果缩小地图,是否可以限制显示多少个图标?或更好的做法
答案 0 :(得分:0)
您可以添加一个侦听器,以在更新时检查缩放并隐藏所需的标记
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();
}
}
});