Waze 支援 API,開發人員可透過外部網址開啟 Waze 用戶端應用程式或網頁。使用者可以從其他行動應用程式或行動網頁存取該網址。
使用 Waze 深層連結的基本網址為:
https://waze.com/ul
根據您傳遞至這個網址的參數,Waze 應用程式可以找出地址、在地圖上標示地址,或啟動前往地址或目的地的導航工作階段。
深層連結的運作方式
Waze 開啟為用戶端應用程式或網頁,取決於使用者的系統設定:
- 電腦:Waze 會以網頁形式開啟。
- 行動裝置 (且已安裝 Waze 應用程式):系統會開啟 Waze 應用程式。
- 行動裝置 (且未安裝 Waze):Waze 會以網頁形式開啟。
如果您確定已安裝 Waze 應用程式,可以使用「waze://」網址進行應用程式間的通訊,不必透過網頁。這會取代上述的基準網址。請務必確認使用者已安裝 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 應用程式中儲存的下列最愛地點:
workhome
使用下列網址前往指定的最愛項目:
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
網址參數
下表說明 Waze 深層連結可用的路徑參數:
| 參數 | 是否必要? | 說明 |
|---|---|---|
avoid_tolls |
選用 | 指定是否要計算避開收費路段的路線。設為 true 或 t 即可避開收費路段。設為 false 或 f,允許行駛收費道路。預設為允許收費路段 (false)。 |
avoid_ferries |
選用 | 指定是否要計算避開渡輪的路線。設為 true 或 t 即可避開渡輪。設為 false 或 f,即可允許渡輪。預設為允許渡輪 (false)。 |
avoid_freeways |
選用 | 指定是否要計算避開高速公路的路線。設為 true 或 t 即可避開高速公路。設為 false 或 f 即可允許行駛高速公路。預設為允許行駛高速公路 (false)。 |
avoid_dangerous_turns |
選用 | 指定是否要避開危險的迴轉。設為 true 或 t,避免危險的轉彎。設為 false 或 f,允許危險迴轉。預設為避開危險的迴轉 (true)。 |
avoid_trails |
選用 |
指定無鋪面道路或步道的路線偏好設定。支援的值如下:
|
vehicle_type |
選用 |
指定車輛類型。支援的值如下:
|
合併參數
您可以在同一個網址中一併使用這些參數,只要以「&」分隔名稱/值組合即可。以下範例說明如何使用參數組合:
如要將地圖中心設為 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 時導向至經緯度,否則會啟動 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>