26

Is there such prefix for launching map application on phones,

<a href="map:21st,High Street, London">Toto's home</a>

like can do

<a href="mailto:toto@gmail.com">Toto's mail</a>
  • 1
    Ah, getting my terms confused. The correct term for this is [URI schema name](http://en.wikipedia.org/wiki/URI_scheme) (or sometimes just "protocol"). –  May 26 '12 at 20:51
  • `geo:` is the generic one, if Android and Google Maps is your main target, simply adding a link to google maps will do the trick even better e.g. setting up a track: `https://www.google.com/maps/dir//URLENCODEDADDRESS` (empty part (`//`) indicates starting point is your current destination) – jave.web Feb 05 '19 at 23:10

6 Answers6

14

geo: is an officially-recognised URI scheme, and maps: may be implemented in some clients.

https://en.wikipedia.org/wiki/Geo_URI_scheme

cmolina
  • 973
  • 1
  • 11
  • 21
Andrew Leach
  • 12,945
  • 1
  • 40
  • 47
  • 2
    It would be interesting to have some form of "works here" list... even if very vague, but showing if usage is practical or not. –  May 26 '12 at 20:53
  • 2
    `maps:q=...` works in Safari on the iPad and starts the maps app. – Andrew Leach May 26 '12 at 21:00
  • 1
    geo: works on Android, maps: or maps:q= don't thx, it would be perfect if it could launch maps.google on desktop browser though –  May 26 '12 at 21:19
  • 2
    finally it's more efficient with http://maps.google.com?q= , supported on desktop and can do geocoding –  May 26 '12 at 21:31
  • 1
    `maps:` is also supported on Windows 10 in the (Bing) Maps app. – mnsth Mar 18 '16 at 10:54
  • `maps:q=` works on osx and ios, I didn't get it working on windows/android. I couldn't get `geo:` to work. – jnaklaas Jun 22 '21 at 11:28
8

In each planform:

Apple

Documentation

Example: <a href="http://maps.apple.com/?ll=12.34567,8.90123">

Android:

Documentation

Example: <a href="geo:40.726966,-74.006076">

Windows Phone:

Documentation

Example: <a href="bingmaps:?cp=40.726966~-74.006076">

Sabuncu
  • 5,095
  • 5
  • 55
  • 89
ivanxuu
  • 842
  • 9
  • 10
7

Both of the previous answers are correct in their own way but did not provide a succinct example.. So here goes:

Use:

  <a href="geo://?q=My+address+here">View On Map</a>

Works on Android & Apple in my tests.

Ryan Knell
  • 6,204
  • 2
  • 40
  • 32
4

I don't have enough of a reputation to add a comment to ryan knell's answer above but, having recently implemented a geo uri feature into the Share panel of the OpenStreetMap site, I'd like to point out that there's no "//" in that scheme. It's spelled out quite clearly, with examples, in RFC 5870.

Community
  • 1
  • 1
Eric Theise
  • 185
  • 8
4

Apple uses link with the maps:// protocol now too, as far as I know, only Apple Maps supports it (tested on Mac OSX 10.11 El Captain).

Example: maps://maps.apple.com/maps?daddr=48.851925,2.337141

So, to list them all, there are the protocols: geo:, bingmaps:, maps:, or linking to the various websites, eg: https://goo.gl/maps/VZG3rV6cRGE2.

Dorian
  • 22,759
  • 8
  • 120
  • 116
0

If you simply do this...

<a href="http://maps.apple.com/?q=123+Main+etc...">View on map</a>

If the browser is on iOS/Mac, the native maps app will launch (doesn't matter the browser). If on android/windows/other, maps.apple.com will redirect to maps.google.com

Docs: https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html#//apple_ref/doc/uid/TP40007894-SW1

JeremyWeir
  • 24,118
  • 10
  • 92
  • 107