How to create a link for all mobile devices that opens google maps with a route starting at the current location, destinating a given place? How to create a link for all mobile devices that opens google maps with a route starting at the current location, destinating a given place? ios ios

How to create a link for all mobile devices that opens google maps with a route starting at the current location, destinating a given place?


I haven't worked much with phones, so I dont't know if this would work. But just from a html/javascript point of view, you could just open a different url depending on what the user's device is?

<a style="cursor: pointer;" onclick="myNavFunc()">Take me there!</a>function myNavFunc(){    // If it's an iPhone..    if( (navigator.platform.indexOf("iPhone") != -1)         || (navigator.platform.indexOf("iPod") != -1)        || (navigator.platform.indexOf("iPad") != -1))         window.open("maps://www.google.com/maps/dir/?api=1&travelmode=driving&layer=traffic&destination=[YOUR_LAT],[YOUR_LNG]");    else         window.open("https://www.google.com/maps/dir/?api=1&travelmode=driving&layer=traffic&destination=[YOUR_LAT],[YOUR_LNG]");}


Interestingly, http://maps.apple.com links will open directly in Apple Maps on an iOS device, or redirect to Google Maps otherwise (which is then intercepted on an Android device), so you can craft a careful URL that will do the right thing in both cases using an "Apple Maps" URL like:

http://maps.apple.com/?daddr=1600+Amphitheatre+Pkwy,+Mountain+View+CA

Alternatively, you can use a Google Maps url directly (without the /maps URL component) to open directly in Google Maps on an Android device, or open in Google Maps' Mobile Web on an iOS device:

http://maps.google.com/?daddr=1+Infinite+Loop,+Cupertino+CA


just bumped in this question and found here all the answers I took some of the codes above and made simple js function that works onandroid and iphone (it supports almost every android and iphones).

  function navigate(lat, lng) {    // If it's an iPhone..    if ((navigator.platform.indexOf("iPhone") !== -1) || (navigator.platform.indexOf("iPod") !== -1)) {      function iOSversion() {        if (/iP(hone|od|ad)/.test(navigator.platform)) {          // supports iOS 2.0 and later          var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);          return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];        }      }      var ver = iOSversion() || [0];      var protocol = 'http://';      if (ver[0] >= 6) {        protocol = 'maps://';      }      window.location = protocol + 'maps.apple.com/maps?daddr=' + lat + ',' + lng + '&ll=';    }    else {      window.open('http://maps.google.com?daddr=' + lat + ',' + lng + '&ll=');    }  }

The html:

 <a onclick="navigate(31.046051,34.85161199999993)" >Israel</a>