我正在通过JavaScript开发Android应用程序,我想知道当我使用Google地图缩小小于15时,如何隐藏地图标记,这是我使用的代码:
function success1(position) {
var bangalore = { lat: 24.7511, lng: 46.6568 };
var gift = { lat: 24.7906, lng: 46.6312 };
var map = new google.maps.Map(document.getElementById('mapp'), {
zoom: 17,
streetViewControl: false,
panControl: false,
disableDoubleClickZoom: true,
TiltGestures: false,
AllGestures: false,
ZoomGestures: false,
ScrollGestures: false,
zoomControl: false,
scrollwheel: false,
center: bangalore
});
var image = 'http://iconbug.com/download/size/32/icon/7605/yellow-gift-box/';
zoom = map.getZoom();
var zoom = map.getZoom();
var beachMarker = new google.maps.Marker({
position: gift,
map: map,
icon: image,
});
}
答案 0 :(得分:2)
要从地图中删除/隐藏marker,请调用setMap()方法,将null作为参数传递。
marker.setMap(null);
.setMap(null)函数将使标记不在地图上显示。您也可以在隐藏多边形和折线时使用它。
google.maps.event.addListener(map, 'zoom_changed', function() {
var zoom = map.getZoom();
if (zoom <= 15) {
marker.setMap(null);
} else {
marker.setMap(map);
}
});
请注意,上述方法不会删除标记。它很简单 从地图中删除标记。如果你想要删除 标记,您应该从地图中删除它,然后设置标记 本身为null。
答案 1 :(得分:0)
缩放级别的显示/隐藏标记没有特定属性,您必须检查缩放级别
var image = 'http://iconbug.com/download/size/32/icon/7605/yellow-gift-box/';
if (zoomLevel>=15 ) {
var beachMarker = new google.maps.Marker({
position: gift,
map: map,
icon: image,
});
}
for hide
if (zoomLevel<15 ) {
beachMarker.setMap(null);
}
答案 2 :(得分:0)
这是java代码。希望你能把它转换成Javascript。
设置相机更改侦听器。如果新的缩放级别小于之前的缩放级别,则表示发生缩小,因此隐藏标记。
mMap.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
mMap.clear();
}
}
});