通过链接到Google地图并使用KML作为查询打开iPhone地图应用程序

时间:2009-11-19 17:48:42

标签: iphone google-maps maps

当网页上的链接转到maps.google.com/?q = http://example.com/mapdata.kml时,如何强制iPhone地图应用程序打开?

如果我打开地图应用程序并专门将http://example.com/mapdata.kml放在查询框中,则会正确加载所有数据。但是如果我使用http://maps.google.com/?q=http://example.com/mapdata.kml,地图应用程序会加载,但不会加载任何数据,查询框中也没有任何内容。

典型的查询有效,例如q = cupertino或q = [纬度,经度]。这似乎是kml链路坏了。

有没有人让这个工作?这支持吗?你必须对查询进行URI编码吗?

3 个答案:

答案 0 :(得分:7)

您的问题让我感兴趣,所以我在Apple URL Scheme Reference进行了一些调查。它说:

  

虽然地图应用程序支持   许多Google Maps参数和   查询,它不支持所有。   创建有效地图的规则   链接如下:

     

域名必须是google.com和   子域必须是map或ditu。

     

在   path必须是/,/ maps,/ local或/ m   如果查询包含站点作为键   和本地作为价值。

     

路径   不能/ maps / *。

     

所有参数必须   得到支持。有关列表,请参阅表1   支持的参数。

     

参数   如果值是URL,则不能是q = *   (所以KML没有被选中)。

     

在   参数不能包含view = text或   dirflg = R

如果我正确阅读,那看起来并不像你想要的那样,但是,有趣的是你可以直接在地图应用中输入完整的kml网址并使其正常工作。这似乎是苹果公司的一个漏洞。我会开始向它投掷参数,看看会发生什么。这总是很有趣。 ; - )

最诚挚的问候,

P.S。 一个不错的贴纸。我更喜欢赏金,但看起来你还没有足够的SO积分来提供。 ; - )

答案 1 :(得分:2)

此链接将执行您想要的操作

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

但它只适用于iOS,所以请务必检查用户代理等,并在非iOS上使用普通的地图网址

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

答案 2 :(得分:0)

最简单形式的地图网址地图:q = GivenTitle @ latitude,经度