Waze 支持一种 API,可让开发者通过外部网址打开 Waze 客户端应用或网页。您可以通过其他移动应用或移动网页访问该网址。
用于使用 Waze 深层链接的基本网址为:
https://waze.com/ul
然后,Waze 应用可以根据您传递给此网址的参数,定位地址、在地图上标记地址,或启动前往地址或目的地的导航会话。
深层链接的运作方式
Waze 以客户端应用还是网页的形式打开取决于用户的系统配置:
- 桌面设备:Waze 会以网页的形式打开。
- 移动设备(已安装 Waze 应用):系统会打开 Waze 应用。
- 移动设备(未安装 Waze):Waze 会以网页的形式打开。
如果您确定已安装 Waze 应用,则可以使用网址“waze://”进行应用到应用通信,而无需 Web 体验。此网址将取代上述基准网址。仅当您确定用户已安装 Waze 时,才应使用此选项;否则,如果用户点按链接,系统不会执行任何操作。
使用 Waze 深层链接
您可以使用以下网址启动 Waze,并使用第三方应用、电子邮件、短信、网页链接或其他来源中的参数。
Waze 深层链接使用以下网址:
https://waze.com/ul?param_name=value[¶m_name=value]
以下是一些常见的 Waze 深层链接任务。
导航到地点
如需导航到特定位置,请执行以下操作:
- 打开 Waze 实时地图,然后搜索您的营业地点。在搜索框中输入内容,或放大地图并点击特定路段。
- 点击地图右下角的“分享”图标
。
- 系统会显示一个对话框。点击分享驾车路线,然后复制并粘贴链接。
示例
以下示例将地图的中心定位到纽约的时代广场:
https://www.waze.com/ul?ll=40.75889500%2C-73.98513100&navigate=yes&zoom=17
前往收藏夹
您可以前往 Waze 应用中保存的以下收藏夹:
work
home
使用以下网址可前往指定的收藏夹:
https://waze.com/ul?favorite=favorite&navigate=yes
以下示例将目的地设置为工作:
https://waze.com/ul?favorite=work&navigate=yes
搜索
使用以下语法搜索地址:
https://waze.com/ul?q=search_terms
您为参数传递的值必须采用网址编码。例如,您必须将空格替换为 %20
。
以下示例搜索“66 Acacia Avenue”:
https://waze.com/ul?q=66%20Acacia%20Avenue
在地图上显示
您可以使用以下语法设置 Waze 地图视图的地图放大级别(或缩放):
https://waze.com/ul?z=magnification_level
magnification_level 的最小值为 6(最接近或放大倍数最高)。 magnification_level 的最大值为 8192(最远或最小放大倍率)。
以下示例将放大级别设置为 8:
https://waze.com/ul?z=8
组合参数
您可以在同一个网址中将这些参数组合使用,只需使用“&”将名称值对分隔开即可。以下示例展示了如何组合使用这些参数:
如需将地图中心设为 Maryhill 并将缩放比例设为 10,请执行以下操作:
https://waze.com/ul?ll=45.6906304,-120.810983&z=10
如需搜索地址并导航到该地址,请执行以下操作:
https://waze.com/ul?q=66%20Acacia%20Avenue&ll=45.6906304,-120.810983&navigate=yes
添加 utm_source
如果您在实现中添加了 utm_source
,我们就可以将使用情况与特定合作伙伴相关联。如果发生影响集成的任何问题,我们可以通过 utm_source
与合作伙伴进行跟进,为他们提供更好的合作伙伴体验。如需了解详情,请参阅 iOS 示例。如果您遇到任何问题,欢迎随时与我们联系。
示例
本部分提供了有关如何在 Android 和 iOS 平台上使用 Waze Deep Links API 的示例。
Android 示例
以下代码段示例会启动 Waze 来查找指定位置(前提是已安装 Waze)。如果未安装 Waze,系统会在 Google Play 中打开 Waze 页面:
try { // Launch Waze to look for Hawaii: String url = "https://waze.com/ul?q=Hawaii"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); } catch (ActivityNotFoundException ex) { // If Waze is not installed, open it in Google Play: Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.waze")); startActivity(intent); }
iOS 示例
以下代码段示例会在已安装 Waze 的情况下导航到 lat/lon;否则,它会启动 App Store 以安装 Waze:
- (void) navigateToLatitude:(double)latitude longitude:(double)longitude { if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"waze://"]]) { NSString *bundleIdentifier = NSBundle.mainBundle.bundleIdentifier; // Waze is installed. Launch Waze and start navigation NSString *urlStr = [NSString stringWithFormat:@"https://waze.com/ul?ll=%f,%f&navigate=yes&utm_source=%s", latitude, longitude, bundleIdentifier]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]]; } else { // Waze is not installed. Launch AppStore to install Waze app [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/us/app/id323229106"]]; } }
使用 iOS SDK 9.0 及更高版本进行编译时,您必须使用以下内容更新应用的属性列表文件,以添加 Waze:
<key>LSApplicationQueriesSchemes</key> <array> <string>waze</string> </array>