您可以使用地理链接在 Android 上打开导航应用程序。不幸的是,iOS 不支持此功能。但通常你必须记住,你无法直接控制设备上如何处理此链接,正如我所说,iOS 不执行任何操作,甚至可能显示无效链接错误,并且可能有 Android 设备也不支持此功能。请记住,您无法确定它是否在任何地方都有效,因此您的网站不应依赖此功能,它应该只是为支持此功能的设备提供额外的可用性。
1)在本地地图应用程序中显示位置
通过地理链接,您可以指定如下位置:
geo:longitude,laditude
或者像这样:
geo:street+address
您还可以搜索这样的地址:
geo:?q=street+address
您还可以像这样定义缩放级别:
geo:street+address?z=3
也可以组合多个参数,如下所示:
geo:?q=street+address&z=15
但请注意,这不会按预期工作。在这种情况下,在 Google 地图中,它从定义的缩放级别开始,然后开始搜索并放大目标。
Here http://developer.android.com/guide/components/intents-common.html#Maps是一些 Android 文档。
2) 在 Google 地图中打开路线
您还可以使用以下链接仅显示两个位置之间的路线:
http://maps.google.com/maps?saddr=street+adress&daddr=street+address
坐标也适用于此:
http://maps.google.com/maps?saddr=50,10&daddr=50,20
您可以像这样再次使用它:
<a href="http://maps.google.com/maps?saddr=New+York&daddr=San+Francisco">Route New York --> San Francisco</a>
3)立即开始导航
使用此选项,链接会打开到某个位置的路线,设备不仅会显示路线,还会立即开始导航:
google.navigation:q=street+address
您还可以使用坐标:
google.navigation:q=50,10
你可以像这样使用它:
<a href="google.navigation:q=San+Francisco">Navigation to San Francisco</a>
4)测试
我已经在运行 Android 4.4 (KitKat) 的 Nexus 5 上使用以下 HTML 测试了所有内容:
<!DOCTYPE html>
<html>
<head>
<title>Geo Link Test</title>
</head>
<body>
<p><a href="geo:50,10">Location 50/10</a></p>
<p><a href="geo:Vienna">Location Vienna</a></p>
<p><a href="geo:?z=5&q=New+York">Zoom 5, Search for New York</a></p>
<p><a href="geo:?q=San+Francisco&z=15">Zoom 15, Search for San Francisco</a></p>
<p><a href="google.navigation:q=San+Francisco">Navigation to San Francisco</a></p>
<p><a href="google.navigation:q=50,10">Navigation to 50/10</a></p>
<p><a href="http://maps.google.com/maps?saddr=New+York&daddr=San+Francisco">Route New York --> San Francisco</a></p>
<p><a href="http://maps.google.com/maps?saddr=50,10&daddr=50,20">Route 50/10 --> 50/20</a></p>
</body>
</html>