Harry Love
Harry Love

Reputation: 1910

Open the iPhone map application via link to Google maps with KML as query

How does one force the iPhone map application to open when the link on a web page goes to maps.google.com/?q=http://example.com/mapdata.kml?

If I open the map application and specifically put http://example.com/mapdata.kml in the query box, all the data is loaded correctly. But if I use http://maps.google.com/?q=http://example.com/mapdata.kml, the map application loads but no data is loaded and nothing is in the query box.

The typical queries work, like q=cupertino or q=[latitude,longitude]. It seems to be the kml link that's broken.

Has anyone gotten this to work? Is this supported? Do you have to URI encode the query?

Upvotes: 6

Views: 18502

Answers (3)

Matt Long
Matt Long

Reputation: 24476

Your question interested me so I did a little looking around at the Apple URL Scheme Reference. It says the following:

Although the Maps application supports many of the Google Maps parameters and queries, it does not support them all. The rules for creating a valid map link are as follows:

The domain must be google.com and the subdomain must be maps or ditu.

The path must be /, /maps, /local, or /m if the query contains site as the key and local as the value.

The path cannot be /maps/*.

All parameters must be supported. See Table 1 for list of supported parameters.

A parameter cannot be q=* if the value is a URL (so KML is not picked up).

The parameters cannot include view=text or dirflg=r.

If I'm reading that right, it doesn't look like what you're wanting is supported, however, it's interesting that you can type the full kml URL into the maps app directly and have it work. That seems like a bug on Apple's part. I would just start throwing parameters at it and see what happens. That's always fun. ;-)

Best Regards,

p.s. That is a nice sticker. I'd prefer a bounty, but looks like you haven't racked up enough SO points to offer that yet. ;-)

Upvotes: 7

3shmaoy
3shmaoy

Reputation: 11

The maps URL in simplest form

maps:q=GivenTitle@latitude,longtitude

Upvotes: 0

Todd Laney
Todd Laney

Reputation: 21

This link will do what you want

<a href="maps:q=http://example.com/mapdata.kml">

but it will only work on iOS so make sure you check the user agent etc and use a normal maps url on non-iOS

<a href="http://maps.google.com?q=http://example.com/mapdata.kml">

Upvotes: 2

Related Questions