【问题标题】:Access TomTom navigation solution via URL scheme通过 URL 方案访问 TomTom 导航解决方案
【发布时间】:2011-08-11 21:04:41
【问题描述】:

我目前正在开发一个允许用户导航到 POI 的 iPhone 应用程序。这些 POI 是通过 lat/lon 定义的,用户应该可以一键启动他的导航解决方案以导航到该 POI。

这适用于 Navigon,使用 URL 方案 navigon://myapp|name||||||lat|lon

现在我知道 TomTom iPhone 应用程序有一个名为 tomtomplus:// 的 URL 方案,我只能启动 tomtom,无法进行其他操作。

我试过tomtomhome://geo:action=navigateto&lat=mylat&long=mylon&name=myname - 但没有用。只有 tomtom 应用正在启动。

即使我尝试查看http://addto.tomtom.com API,tomtom 也只是启动,没有任何添加和 POI 的操作或导航到的机会。

代码片段:

NSString* launchurl = [NSString stringWithFormat:@"tomtomhome://geo:action=navigateto&lat=%.8f&long=%.8f&name=%@", myEntry.getLon, myEntry.getLat, myEntry.name];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[launchurl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

有什么建议吗?

【问题讨论】:

    标签: iphone navigation url-scheme tomtom


    【解决方案1】:

    我使用 Tomtom 从 iPhone 上的路线规划选项向我发送了一封电子邮件。在那封电子邮件中是我使用的tomtomhome:geo 链接。 为了测试,我在 Safari 中点击了我的 Mac 上的链接,显然什么也没发生。然后我将链接保存为书签,它会立即使用 MobileMe 同步到我的 iPhone。我在我的 iPhone Safari 浏览器上单击了书签,viola Tomtom 打开了一张以链接中的位置为中心的地图。它会弹出一个带有链接名称的气球,右箭头允许我选择第一个选项“导航到那里”

    生成的链接是:

    • tomtomhome:geo:action=show&lat=26.123456&long=28.123456&name=linkname

    【讨论】:

    • 是的。你是对的 - 就像一个魅力。我认为我的第一个问题是测试坐标超出了覆盖的导航区域。 TomTom 的行为在某种程度上是不确定的。谢谢!
    • 我发现了一些额外的东西: * action=navigateto 使应用程序在打开后立即计算路线 * name= 部分中的任何特殊字符都应转义,否则 [NSURL URLWithString:]会失败。
    • TomTom 在 App Store 中有许多应用程序(tomtom us、tomtom 加拿大、巴西等)。它们是否都共享相同的 URL 方案?我买不起所有这些应用程序来测试和验证。所有应用程序是否共享 tomtomhome: 架构?如果安装了 2 个或更多会发生什么?
    • @MichaelGray 不幸的是,它会打开其中一个,您无法选择...在我的情况下,它打开了错误的一个。
    • @Sandman 我相信在多个应用程序具有一个 URL 方案的情况下,它在 iOS 上的工作原理是安装的第一个应用程序打开。因此,您可以删除所有共享该方案的应用程序,然后使用您希望首先使用的应用程序重新安装它们。不理想,但至少这是一种解决方法。
    猜你喜欢
    • 2011-06-30
    • 2012-02-07
    • 2021-04-30
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多