2016-06-22 8 views
0

Ich möchte einen Marker vergrößern, wenn ich darauf klicke, ohne seine Position relativ zu den Grenzen meiner aktuellen Kartenansicht zu ändern.Google Maps API v3 - Vergrößern und dabei die Position des angeklickten Standorts oder Markers beibehalten

Zoomed Out Image

Zoomed In Image with marker location relative to border unchanged

Wer weiß, wie dies funktionieren könnte könnte? Im Folgenden wird die Markerposition nicht beibehalten.

newMarker.addListener('click', function() { 
    closeAllInfoWindows(); 
    var pos = newMarker.position(); 
    var bounds = map.getBounds(); 
    map.setZoom(map.getZoom() + 1); 
    map.panTo(pos); 
}); 

Antwort

0

Versuchen Sie, diese Probe aus dem Simple Click listener. Es zoomt, während die Position des Markers beibehalten wird. Füllen Sie einfach Ihre Breiten- und Längenwerte aus.

function initMap() { 
    var myLatlng = {lat: -25.363, lng: 131.044}; 

    var map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 4, 
    center: myLatlng 
    }); 

    var marker = new google.maps.Marker({ 
    position: myLatlng, 
    map: map, 
    title: 'Click to zoom' 
    }); 

    map.addListener('center_changed', function() { 
    // 3 seconds after the center of the map has changed, pan back to the 
    // marker. 
    window.setTimeout(function() { 
     map.panTo(marker.getPosition()); 
    }, 3000); 
    }); 

    marker.addListener('click', function() { 
    map.setZoom(8); 
    map.setCenter(marker.getPosition()); 
    }); 
} 
+0

Dies funktioniert, wenn Sie wollen, dass der Marker in der Mitte bleibt. Ich würde gerne mit meiner Maus über einen Marker beispielsweise in der oberen linken Ecke fahren und die Karte zoomen lassen, während ich weiter auf den Marker zoomen kann, ohne meine Maus zu bewegen. (Siehe die Funktion zum Scrollen, um die Web-Version von Google Maps zu vergrößern). Vielen Dank! –

+0

Ich empfehle Ihnen, [Maps Event Listeners] zu lesen (https://developers.google.com/maps/documentation/javascript/events). Versuche es. Tauchen Sie ein. :) – noogui