您可以使用地理链接在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地图中,它首先以定义的缩放级别开始,然后开始搜索并缩放到目标位置。
这里有一些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>