Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 578
Harry Love Avatar asked Nov 19 '09 17:11

Harry Love


People also ask

How do I get Google Maps to open links in the app?

Access Settings in your Android smartphone or tablet. Choose Apps. In the list of apps choose the app used by default to access maps/routes/navigation (Maps for GoogleMaps, or Waze). Choose the Launch by default function.

How do I open Google Maps using iOS app Swift?

Using Swift 5 and XCode 13, I was able to use Google's Universal cross-platform syntax to open Google Maps app in directions mode. The link will open the google maps app if it is installed on the phone. If maps is not installed it will open the url in the browser.


1 Answers

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. ;-)

like image 155
Matt Long Avatar answered Sep 22 '22 17:09

Matt Long