代码之家  ›  专栏  ›  技术社区  ›  Harry Love

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

  •  6
  • Harry Love  · 技术社区  · 15 年前

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

    如果我打开地图应用程序并 http://example.com/mapdata.kml 在查询框中,所有数据都已正确加载。但是如果我使用 http://maps.google.com/?q=http://example.com/mapdata.kml ,将加载映射应用程序,但不加载任何数据,查询框中也不存在任何数据。

    典型的查询工作,如q=cupertino或q=[纬度、经度]。似乎是国民党的联系断了。

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

    3 回复  |  直到 11 年前
        1
  •  7
  •   Matt Long    15 年前

    你的问题让我感兴趣,所以我四处看看 Apple URL Scheme Reference . 上面写着:

    尽管maps应用程序支持 许多谷歌地图参数和 查询,它不支持所有查询。 创建有效映射的规则 链接如下:

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

    这个 路径必须是/、/maps、/local或/m 如果查询包含站点作为键 以当地为价值。

    这条路 不能是/maps/*。

    所有参数必须 得到支持。清单见表1。 支持的参数。

    一个参数 如果值是URL,则不能为q=* (所以KML没有被接收)。

    这个 参数不能包括view=text或 dirflg=r.

    如果我读得对,它看起来不像是你想要的支持,但是,有趣的是,你可以直接将完整的kml url输入到地图应用程序中,让它工作。这似乎是苹果的一个缺陷。我就开始向它扔参数,看看会发生什么。那总是很有趣的。;-)

    顺祝商祺!

    P.S.那个 不错的贴纸。我更喜欢赏金,但看起来你还没有筹到足够的钱,所以积分还不够。;-)

        2
  •  2
  •   Todd Laney    13 年前

    此链接将满足您的需要

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

    但它只能在iOS上运行,因此请确保检查用户代理等,并在非iOS上使用普通的映射URL。

    <a href="http://maps.google.com?q=http://example.com/mapdata.kml">
    
        3
  •  0
  •   3shmaoy    11 年前

    最简单形式的映射URL

    地图:Q=Giventile@Latitude,Longtitude