Wie öffnet man die Karten-App eines Mobilgeräts, wenn ein Benutzer auf einen Link klickt?
Lesezeit: 6 Minuten
Ich habe eine Web-App, bei der ein Benutzer, wenn er auf einen Link klickt, eine Karte öffnen sollte. Die beste Lösung, die mir einfällt, besteht darin, eine neue Registerkarte / ein neues Fenster für Google Maps zu öffnen target="_blank" Attribut.
Aber ich denke das Öffnen Sie am besten die Karten-App des Geräts statt googlemap.
Ich weiß, dass Sie die Telefon-App des Benutzers öffnen können, wenn der Benutzer auf eine Telefonnummer klickt, auf die das href-Attribut zeigt tel:<the phone number>. Ich frage mich, ob dies auch mit der Karten-App möglich ist.
Gibt es eine Möglichkeit, einem Anchor-Tag zu erlauben, die Karten-App des Mobilgeräts zu öffnen, wenn der Benutzer darauf klickt?
mögliche doppelte Frage: stackoverflow.com/questions/4642481/… oder wenn nicht, dann einige nützliche Informationen
– Philipp Bewan
14. Mai 2012 um 14:27 Uhr
Gibt es jetzt im Jahr 2016 bessere Antworten auf diese Frage? Bitte teilen Sie mir mit, wenn sich seit 2012 etwas geändert hat.
– 4 Schloss
16. Februar 2016 um 14:47 Uhr
Alex W
Du kannst den … benutzen GEO-URI-Schema “geo:Breitengrad,Längengrad” angegeben durch RFC 5870 in einem Link wie z
<a href="geo:124.028582,-29.201930" target="_blank">Click here for map</a>
Es gibt auch die comgooglemaps:wodurch die gestartet wird Google Maps-App für iOSzum Beispiel:
center: Dies ist der Mittelpunkt des Kartenansichtsfensters. Als kommagetrennte Zeichenfolge formatiert latitude,longitude.
mapmode: Legt die Art der angezeigten Karte fest. Kann eingestellt werden auf: standard oder streetview. Wenn nicht angegeben, werden die aktuellen Anwendungseinstellungen verwendet.
views: Schaltet bestimmte Ansichten ein/aus. Kann eingestellt werden auf: satellite, trafficoder transit. Mehrere Werte können mit einem Komma-Trennzeichen gesetzt werden. Wenn der Parameter ohne Wert angegeben wird, werden alle Ansichten gelöscht.
zoom: Gibt die Zoomstufe der Karte an.
Und wie Techtheatre sagte, können Sie einen normalen Apple Maps-Link verwenden, um Apple Maps auszulösen:
//maps.apple.com/?q=Raleigh,NC
Wenn Sie das Protokoll weglassen, wird automatisch das richtige ausgewählt. Wenn Sie also einen dynamischen Link haben möchten, können Sie einfach einen bedingten Code erstellen, der den Link zwischen ändert google.com und apple.com je nachdem auf welchem System du bist.
Diese URL-Struktur wird auf Apple-Geräten (zumindest auf iOS 5.0.1) leider nicht unterstützt. Ich denke, die Lösung erfordert die Erkennung des Benutzeragenten und die Bereitstellung eines entsprechenden Links pro Gerät.
– Gareth Saulus
25. Oktober 2012 um 10:08 Uhr
Beides bekomme ich jetzt nicht zum Laufen. Vermutlich werden sie 2014 nicht mehr unterstützt.
– Primus202
17. September 2014 um 22:13 Uhr
Techtheater
Eigentlich … jetzt, da Apple eine eigene Kartenanwendung hat, fangen sie keine Google Maps-Links mehr und leiten sie an die Kartenanwendung weiter (standardmäßig … obwohl dies auf dem Gerät geändert werden kann). Daher müssen Sie jetzt etwas schnüffeln, um festzustellen, ob es sich bei dem Gerät um Android oder Apple handelt. Wenn Sie den richtigen Link für das richtige mobile Betriebssystem verwenden, erfasst das Gerät die Absicht und wechselt statt zur Verwendung des Browsers zur Karten-App.
Wenn Android, Link wie folgt:
https://maps.google.com/?q=Houston,+TX
Wenn Apple, Link wie folgt:
http://maps.apple.com/?q=Houston,+TX
Dies ist sicherlich ein Problem, und hoffentlich wird das W3c irgendwann einen Map-Trigger standardisieren (wie tel: für Telefonnummern). Viel Glück!
Tolle Antwort! Funktioniert gut für mich.
– Reich
2. Juni 2014 um 0:44 Uhr
Sie können der Google-URL auch das Präfix „maps:“ hinzufügen, und das Android- ODER iOS-Mobilgerät öffnet die native Karten-App (iOS-Karten, Google Maps oder wathever), Beispiel: Karten:maps.google.com/… (in diesem Fall mit Routen, wenn Sie nicht interessiert sind, verwenden Sie einfach den Link aus der Antwort)
– Paul Lima
23. Oktober 2017 um 12:12 Uhr
Keine Notwendigkeit für etwas Besonderes. Du kannst die Adresse einfach so doppelt verlinken.
Auf Android öffnet dies die Google Maps App und auf iOS öffnet dies die Apple Maps App. (Ungetestet auf Windows Phone)
Verschachtelte Ankerelemente sind kein gültiges HTML.
– Benutzer
7. September 2020 um 1:15 Uhr
Wie um alles in der Welt funktioniert das? Ist es nur ein großer Zufall, dass es die richtige App öffnet?
– Jakob
2. Februar 2021 um 17:17 Uhr
das ist die beste antwort! sehr sehr einfach! (und es hat gerade für mich im Juli 2021 funktioniert) … ich denke nicht, dass es wichtig ist, dass es kein gültiges HTML ist … ein Tipp, den ich hinzufügen möchte: Das Format für “addressgoeshere” sollte so aussehen: 1+Main+Street+City+State+Zip
– gleichb
29. Juli 2021 um 19:07 Uhr
Schott Nery
Hier ist meine jQuery-Lösung für dieses Problem. Ich wollte in der Lage sein, die richtige Karte zum Öffnen zu erkennen. Im Jahr 2019 stellen Mikroformate immer noch nicht automatisch eine Verbindung für Mobiltelefone her.
Und ich habe den Code so geändert, dass ich einen Adressblock in meinem HTML haben könnte. Diese Adresse wird auf die Grundlagen reduziert und an die entsprechende Karten-App gesendet.
HTML
<span class="map-link">6555 Hollywood Blvd<br/>Hollywood, CA 90028</span>
JavaScript
$(document).on('click','.map-link',function() {
var address = $(this).html();
address = $('<div/>')
.html(address)
.text() // strip tags
.replace(/\s\s+/g, " "); // remove spaces
address = encodeURIComponent(address);
if ((navigator.platform.indexOf('iPhone') != -1) || (navigator.platform.indexOf('iPad') != -1) || (navigator.platform.indexOf('iPod') != -1)){/* if we're on iOS, open in Apple Maps */
window.open('http://maps.apple.com/?q=' + address);
} else { /* else use Google */
window.open('https://maps.google.com/maps?q=' + address);
}
});
Sie können es von Ihrem bekommen Karten-App wenn Sie den Ort teilen.
Funktioniert auf Browser/Android/Iphone
Wie erstellen Sie bei einem gegebenen Breiten- und Längengrad die Zeichenfolge am Ende?
– Nikolaus Raoul
13. Januar 2021 um 11:39 Uhr
Die Zeichenfolge wird von der Karten-App generiert. Bei gegebener Breite/Länge sollten Sie auf Ihren Punkt zoomen, bis Sie keinen wissenden Punkt mehr sehen, sonst nimmt er den nächstgelegenen wissenden Ort ein: maps.app.goo.gl/LfxdMD4QV3DVsCzM9 vs maps.app.goo.gl/sk84dXhYbn2Gb7Ms9 *ohne roten Stift
– Ythollet
14. Januar 2021 um 12:29 Uhr
Anoxy
Ich nehme hier an einer alten Party teil. Allerdings habe ich 2021 immer noch damit zu kämpfen: D
Es scheint, dass mit dem folgenden Link
http://maps.apple.com/?q=Houston,+TX
Öffnet Apple Maps auf Apple-Geräten und Google Maps auf Nicht-Apple-Geräten. Danke Apfel!
Wie erstellen Sie bei einem gegebenen Breiten- und Längengrad die Zeichenfolge am Ende?
– Nikolaus Raoul
13. Januar 2021 um 11:39 Uhr
Die Zeichenfolge wird von der Karten-App generiert. Bei gegebener Breite/Länge sollten Sie auf Ihren Punkt zoomen, bis Sie keinen wissenden Punkt mehr sehen, sonst nimmt er den nächstgelegenen wissenden Ort ein: maps.app.goo.gl/LfxdMD4QV3DVsCzM9 vs maps.app.goo.gl/sk84dXhYbn2Gb7Ms9 *ohne roten Stift
– Ythollet
14. Januar 2021 um 12:29 Uhr
Rami Allusch
Dieser einfache Link funktioniert bei mir hervorragend
mögliche doppelte Frage: stackoverflow.com/questions/4642481/… oder wenn nicht, dann einige nützliche Informationen
– Philipp Bewan
14. Mai 2012 um 14:27 Uhr
Gibt es jetzt im Jahr 2016 bessere Antworten auf diese Frage? Bitte teilen Sie mir mit, wenn sich seit 2012 etwas geändert hat.
– 4 Schloss
16. Februar 2016 um 14:47 Uhr