如何通过URL打开设备的默认导航应用程序?

时间:2014-02-17 13:17:17

标签: google-maps cordova hybrid-mobile-app

早上好,大家

我正在处理使用Cordova开发的应用程序中的问题,对于android。在应用程序的某个页面中(所有内容都是使用纯HTML和Javascript构建的),我需要在用户单击链接时打开一个路径。经过几个小时的互联网研究,我可以找到一些选择,但没有一个可以解决。

在这里,我告诉你到目前为止我找到并尝试过的东西。请假设坐标代表路线的可行位置..


使用geo:架构

示例:<a href="geo:45.6,23.4">Route</a>

问题:这是几乎解决它的问题。这里的问题是geo:打开地图应用程序,显示坐标中给出的位置。一切都很好,直到那里,但没有选择使用这个模式打开路线,因为我可以找出阅读the specification


在链接域中使用maps.google.com。示例:<a href="http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345"></a>

使用设备的浏览器尝试此操作时,我可以打开导航应用。但是在我正在构建的混合应用程序中使用它只是将其重定向到谷歌地图站点,使用它的移动版本。但它发生在我的应用程序中,现在对我来说似乎是合乎逻辑的但是真的吓坏了我,因为它无法控制它。 (遗憾的是,iframe不是一个可行的选择,因为我们在项目中添加了标准。 在该链接上使用target=blank并没有改变任何内容。


我的最后一次尝试是使用google.navigation架构。

示例:<a href="google.navigation:q=45.6,32.8" target="_blank"> 同样,如果我在一个常见的设备浏览器中测试它一切正常,但是当我在我的应用程序上尝试它时会崩溃,说“google.navitation不是支持的协议。”


更新


我还尝试使用以下格式的here选项:

<a href="comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit">Route to here</a>

应用程序也崩溃,我被警告不支持comgooglemaps://架构。


我可以找到这4个选项,因为每个有类似需求的人都可以找到使用它们的解决方案。还有其他办法吗?如果可能的话,我真的会向你提供任何帮助,包括一些文档/规范/关于它的任何链接。

感谢您的关注。

0 个答案:

没有答案