Take the 2-minute tour ×

I have two variables - Destination and Source - and, using Phonegap, I'm trying to use jQuery to open the external iPhone Apple Maps app with directions.

The code I'm using looks like this:

var url = 'http://maps.apple.com/?q=daddr='+destination+'&saddr='+source;
window.location = url;

Whenever I click the relevant button however, it opens a new view in-app with Google directions as a webview, and I cannot return to the original app.

How can link be opened instead with the iOS default map application?

share|improve this question
You might want to take a look at stackoverflow.com/questions/12504294/… –  Iain Collins Jan 24 '13 at 15:01
I saw that but unfortunately I'm coding with Phonegap in HTML and Javascript so Objective-C isn't the language I'm using to compile - but I've found the solution I needed, thanks for your help! –  Ben Pearl Kahan Jan 24 '13 at 15:28
@BenPearlKahan I have the same problem, can you show me your soluction? Thanks –  kongkea Feb 15 '13 at 1:12

2 Answers 2

up vote 14 down vote accepted

Changing http://maps.apple.com/?q= to just maps: did the trick.

NB: make sure you write maps: and not map: as, while the latter will run the correct app, it will crash immediately after opening (thanks jprofitt)

share|improve this answer
Ah-hah! I was wondering if there was something just like that (a specific protocol handler) but hadn't found any documentation - didn't think to just try that! Thanks for posting that. –  Iain Collins Jan 24 '13 at 15:30
Pleasure - was a relief to figure it out! –  Ben Pearl Kahan Jan 24 '13 at 15:36
Interesting how this is in direct contradiction to Apple's documentation: developer.apple.com/library/ios/#featuredarticles/… but this answer is what works! –  David Boike Mar 26 '13 at 21:02
As a note for anyone who gets stuck on trying to figure this out: on iOS 7, if you use map: instead of maps:, it will in fact launch the Maps app, but will crash immediately. Check your spelling. (Ben, feel free to add this to your answer if you'd like) –  jprofitt Nov 14 '13 at 23:34
@BenPearlKahan This works, but how can I pass latitude and longitude instead of a name? I was using maps.apple.com/maps?ll=51.83733,-8.3016 –  a_rahmanshah Jan 30 at 3:57

In my case, changing from http://maps.apple.com/?q= to only maps:?q= not solving the problem.

The working scheme that open native Apple Maps with marker is as follows:


full working code:

window.location.href = "maps://maps.apple.com/?q="+lat+","+lng;

Tested working with iOS7.1 simulator, might not works in later version. I don't have the opportunity to test. Sorry.

Supported Apple Maps parameters can be found here: https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html

Credit goes to this SO link: Here

share|improve this answer

Your Answer


