Kann ich eine Google Maps-Karte anzeigen, indem ich die Längen- und Breitengradkoordinaten einschränke?

11

Mit Google Maps kann ich eine einzelne Lat / Lng-Koordinate eingeben und die Karte wird mit diesem Lat / Lng in der Mitte gezeichnet.

Ich möchte in der Lage sein, zwei Koordinatenpaare einzugeben, beispielsweise die Südwestkoordinate und die Nordostkoordinate, und eine Google Map mit dem entsprechenden Zoom anzuzeigen, damit die Karte die durch diese Koordinaten definierten Grenzen ausfüllt.

Ist das möglich? Wenn das so ist, wie?

Vielen Dank

Und die Antwort lautet ... Gehen Sie zu Google Maps Code Playground!

Gemäß Taylors Vorschlag ging ich zum Google Maps Code Playground, gab den folgenden Code ein und konnte eine zentrierte Karte mit der entsprechenden Zoomstufe erhalten, die durch das Koordinatenpaar begrenzt ist.

function initialize() {
  var mapDiv = document.getElementById('map-canvas');
  var map = new google.maps.Map(mapDiv, {
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  var southWest = new google.maps.LatLng(..., ...);
  var northEast = new google.maps.LatLng(..., ...);
  var bounds = new google.maps.LatLngBounds(southWest,northEast);
  map.fitBounds(bounds);
}

.

Scott Mitchell
quelle
1
Der Google Maps-Code-Spielplatz ist nicht mehr vorhanden. Sie können dies jedoch tun, indem Sie eine der API-Beispielseiten von Google (z. B. Simple Map ) aufrufen, auf die Schaltfläche JSFiddle oben rechts im Codefeld klicken und dort den Code einfügen.
Heath Raftery

Antworten:

12

Die gesuchte Funktion heißt fitBounds. Die Funktion fitBounds verwendet einen LatLngBounds als Parameter. Mehr dazu lesen Sie hier.

Beispielcode:

var southWest = new google.maps.LatLng(36.90731625763393,-86.51778523864743);
var northEast = new google.maps.LatLng(37.02763411292923,-86.37183015289304);
var bounds = new google.maps.LatLngBounds(southWest,northEast);
myMap.fitBounds(bounds);
Taylor H.
quelle
Taylor: Ist es möglich, dies von der Website maps.google.com aus zu tun, ohne die API verwenden zu müssen?
Scott Mitchell
Nein, das weiß ich nicht. Was ist Ihr Anwendungsfall dafür?
Taylor H.
Ich habe verschiedene Koordinatenpaare (ca. 10) und möchte für jedes Koordinatenpaar eine Karte drucken. Ich habe zuvor die Google Maps-API verwendet, um Code zu erstellen, aber ich hatte gehofft, ich könnte einfach zur Website maps.google.com gehen, meinen ersten Koordinatensatz eingeben, auf Drucken klicken, den zweiten Satz eingeben usw.
Scott Mitchell
2
Versuchen Sie, mit dem Abschnitt "Google Code Playground Maps" herumzuspielen . Sie können Javascript und HTML bearbeiten und direkt dort ausführen. Wenn nichts anderes hilft es Ihnen, Ihren Code einzurichten.
Taylor H.
Taylor, der Bereich Google Code Playground Maps war perfekt und entsprach meinen Anforderungen. Vielen Dank für Ihre Zeit und Unterstützung in dieser Angelegenheit.
Scott Mitchell
0

Noch einfacher ist es, den Link in ein Iframe-Element auf einer Webseite einzubetten. Nehmen Sie den Link am gewünschten Livel-Zoom und rahmen Sie Ihren Interessenbereich auf nette Weise ein. Sie können es auf Google-Websites mit einer kostenlosen Website ausprobieren und dann den Code ausschneiden und in Ihre Anwendung einfügen.

Lewis
quelle