Waze 支持让开发者能够通过外部网址打开 Waze 客户端应用或网页的 API,这里提到的外部网址可以通过其他移动应用或移动网页访问。
使用 Waze Deep Links 的基本网址如下:
https://waze.com/ul
然后,取决于您传递给此网址的参数,Waze 应用可以定位地址,在地图上标记地址,或是启动前往某个地址或目的地的导航会话。
Deep Links 的工作原理
Waze 是作为客户端应用还是网页打开,取决于用户的系统配置:
- 桌面设备:Waze 作为网页打开
- 移动设备(已安装 Waze 应用):Waze 应用打开
- 移动设备(未安装 Waze 应用):Waze 作为网页打开
如果您确定已安装 Waze 应用,可以使用网址“waze://”进行应用到应用通信,而无需打开网页。这个网址取代了上面介绍的基本网址。请仅在确定您的用户已安装 Waze 的情况下使用此选项;否则,用户点击该链接不会有任何反应。
使用 Waze Deep Links
您可以通过以下网址,使用第三方应用、电子邮件、短信、网页链接或其他来源的参数启动 Waze。
Waze Deep Links 使用以下网址:
https://waze.com/ul?param_name=value[¶m_name=value]
以下是一些常见的 Waze Deep Links 任务。
导航到地理位置
要导航到特定地理位置,请按以下步骤操作:
- 打开 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
示例
本节提供了在 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,以下代码段示例会导航到纬度/经度坐标;如果未安装 Waze,则会启动 App Store 来安装 Waze:
- (void) navigateToLatitude:(double)latitude longitude:(double)longitude { if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"waze://"]]) { // Waze is installed. Launch Waze and start navigation NSString *urlStr = [NSString stringWithFormat:@"https://waze.com/ul?ll=%f,%f&navigate=yes", latitude, longitude]; [[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>