2016-03-27 10 views
1

Ich bin von JavaScript auf Android App arbeiten, ich möchte wissen, wie kann ich Markierung auf der Karte ausblenden, wenn ich weniger verkleinern als 15 mit Google-Karte, das ist der Code, den ich verwenden:Wie kann man den Marker beim Herauszoomen ausblenden?

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, 
 
    });   
 
    }

Antwort

2

entfernen/zu einem marker aus der Karte verbergen, rufen Sie die setMap() Methode null als Argument übergeben.

marker.setMap(null); 

Die Funktion .setMap (null) verhindert, dass der Marker auf der Karte angezeigt wird. Sie können dies auch beim Ausblenden von Polygonen und Polylinien verwenden.

google.maps.event.addListener(map, 'zoom_changed', function() { 
    var zoom = map.getZoom(); 
    if (zoom <= 15) { 
     marker.setMap(null); 
    } else { 
     marker.setMap(map); 
    } 
}); 

Beachten Sie, dass das oben beschriebene Verfahren nicht die Markierung nicht löschen. Es einfach entfernt den Marker aus der Karte. Wenn Sie stattdessen den Marker löschen möchten, sollten Sie ihn aus der Karte entfernen und dann den Marker selbst auf null setzen.

0

Es gibt keine bestimmtes Attribut für Ein-/ausblenden-Marker auf Zoomstufe Sie die Zoomstufe

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, 
     });  
    } 

für hide

überprüfen müssen
if (zoomLevel<15) { 
     beachMarker.setMap(null); 
    } 
0

Dies ist der Java-Code. Hoffe, Sie können es in Javascript konvertieren.

Kamera einstellen Hörer wechseln. Wenn die neue Zoomstufe kleiner als die vorherige Zoomstufe ist, bedeutet dies, dass eine Verkleinerung stattgefunden hat, so dass die Markierung ausgeblendet wird.

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(); 
    } 
} 
}); 
Verwandte Themen