2016-07-20 14 views
-2

Ich benutze die Google Maps API. Wenn ich auf einen Kartenmarker klicke, möchte ich, dass die Karte in einem Schritt vergrößert wird, aber die Position des Markers relativ zum Fenster beibehalten wird.Google Maps vergrößern auf Markierung

Dies ist ähnlich, wenn Sie das Mausrad zum Zoomen verwenden: Das Zoomen erfolgt in Richtung der aktuellen Cursorposition.

Die Funktion map.setZoom() zoomt relativ zum Mittelpunkt der Karte. Das ist nicht was ich will.

Kannst du keine einfache Lösung finden, hat jemand eine Ahnung?

Antwort

0

Hy bitte versuchen Sie dies. Automatisch den Marker zoomen.

float zoomLevel = 16.0; //This goes up to 21 
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomLevel)); 
+0

Dank Mujjuraja, aber ich bin mit dem Google Maps JavaScript-Web-API. – Snaggerton

+0

@Snaggerton okay, bitte lesen Sie diesen Link https://developers.google.com/maps/documentation/javascript/markers – mujjuraja

0

Diese Art von Arbeiten, keine elegante Lösung:

function zoomInAtMarker(marker) 
{ 
    var pos = marker.getPosition(); 
    var bounds = map.getBounds(); 
    map.setZoom(map.getZoom() + 1); 
    var span = map.getBounds().toSpan(); 
    var s = pos.lat() - span.lat() * (pos.lat() - bounds.getSouthWest().lat())/bounds.toSpan().lat(); 
    var w = pos.lng() - span.lng() * (pos.lng() - bounds.getSouthWest().lng())/bounds.toSpan().lng(); 
    map.panToBounds({ south:s, north:s + span.lat(), west:w, east:w + span.lng()}); 
} 
Verwandte Themen