351 Stimmen

Konvertieren einer Adresse in einen Google Maps-Link (NOT MAP)

Nachdem ich eine Weile im Internet gesucht (gegoogelt) habe, kann ich nichts finden, das eine Adresse wie diese annimmt:

1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003

und wandelt sie in einen klickbaren Link um:

http://maps.google.com/maps?f=q&source=s_q&hl=en&q=1200+Pennsylvania+Ave+SE,+Washington,+District+of+Columbia,+20003&sll=37.0625,-95. 677068&sspn=44.118686,114.169922&ie=UTF8&cd=1&geocode=FT5MUQIdIDlp-w&split=0&ll=38.882147,-76.99017&spn=0.01064,0.027874&z=16&iwloc=A

jQuery oder PHP bevorzugt oder einfach nur nützliche Informationen zu diesem Thema.

793voto

Chris B Punkte 15124

Wie wäre es damit?

https://maps.google.com/?q=1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003

https://maps.google.com/?q=term

Wenn Sie lat-long haben, verwenden Sie die folgende URL

https://maps.google.com/?ll=latitude,longitude

Beispiel: maps.google.com/?ll=38.882147,-76.99017

UPDATE

Seit dem Jahr 2017 hat Google nun eine offizielle Möglichkeit, plattformübergreifende Google Maps-URLs zu erstellen:

https://developers.google.com/maps/documentation/urls/guide

Sie können Links verwenden wie

https://www.google.com/maps/search/?api=1&query=1200%20Pennsylvania%20Ave%20SE%2C%20Washington%2C%20District%20of%20Columbia%2C%2020003

74voto

Michael Jasper Punkte 7852

Ich weiß, ich bin sehr spät dran, aber ich dachte, ich würde der Nachwelt zuliebe einen Beitrag leisten.

Ich schrieb eine kurze jQuery-Funktion, die automatisch jede <address> Tags in Google Maps-Links umwandeln.

Sehen Sie hier eine Demo.

$(document).ready(function () {
   //Convert address tags to google map links - Michael Jasper 2012
   $('address').each(function () {
      var link = "<a href='http://maps.google.com/maps?q=" + encodeURIComponent( $(this).text() ) + "' target='_blank'>" + $(this).text() + "</a>";
      $(this).html(link);
   });
});

Bonus:

Ich bin auch auf eine Situation gestoßen, in der ich aus den Links eingebettete Karten generieren musste, und dachte mir, dass ich dies mit zukünftigen Reisenden teilen sollte:

Vollständige Demo anzeigen

$(document).ready(function(){
    $("address").each(function(){                         
        var embed ="<iframe width='425' height='350' frameborder='0' scrolling='no'  marginheight='0' marginwidth='0' src='https://maps.google.com/maps?&amp;q="+ encodeURIComponent( $(this).text() ) +"&amp;output=embed'></iframe>";
        $(this).html(embed);             
    });
});

12voto

Colin P Punkte 129

Feb. 2016:

Ich musste dies auf der Grundlage von vom Kunden eingegebenen Datenbankwerten und ohne einen Breiten-/Längengenerator tun. Google mag lat/long heutzutage wirklich. Hier ist, was ich gelernt habe:

1 Der Anfang des Links sieht wie folgt aus: https://www.google.com/maps/place/

2 Dann geben Sie Ihre Adresse an:

  • Verwenden Sie ein + anstelle eines Leerzeichens.
  • Setzen Sie ein Komma , vor und hinter die Stadt.
  • Geben Sie die Postleitzahl und die Provinz bzw. den Bundesstaat an.
  • Ersetzen Sie jedes # durch nichts.
  • Ersetzen Sie jedes ++ oder ++++ durch ein einzelnes +.

3 Setzen Sie die Adresse nach dem Ort/

4 Dann setzen Sie einen Schrägstrich am Ende.

HINWEIS: Der Schrägstrich am Ende war wichtig. Nachdem der Nutzer auf den Link geklickt hat, fügt Google der URL mehr hinzu, und zwar nach diesem Schrägstrich.

Arbeitsbeispiel für diese Frage:

https://www.google.ca/maps/place/1200+Pennsylvania+Ave+SE,+Washington,+DC+20003/

Ich hoffe, das hilft.

4voto

3voto

Jon Hendershot Punkte 426

Ich hatte ein ähnliches Problem, wo ich brauchte, um dies für jede Adresse auf der Website (jeweils in einem Adress-Tag verpackt) zu erreichen. Dieses Bit von jQuery arbeitete für mich. Es wird jede <address> Tag und verpacken ihn in einen Google Maps-Link mit der Adresse, die der Tag enthält!

$("address").each(function(){

    var address = $(this).text().replace(/\,/g, '');
    var url = address.replace(/\ /g, '%20');

    $(this).wrap('<a href="http://maps.google.com/maps?q=' + url +'"></a>');

}); 

Arbeitsbeispiel --> https://jsfiddle.net/f3kx6mzz/1/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X