如何使用 Waze 深層連結

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[&param_name=value]

以下列出幾項常見的 Waze 深層連結工作。

如要前往特定位置,請按照下列步驟操作:

  1. 開啟 Waze 即時地圖,然後搜尋你的位置。在搜尋框中輸入文字,或放大地圖並點選特定區段。
  2. 按一下地圖右下角的「共用」圖示
  3. 對話方塊隨即出現。按一下「分享行車路線」,然後複製並貼上連結。

範例

以下範例會將地圖中心設為紐約時代廣場:

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

網址參數

下表說明 Waze 深層連結可用的路徑參數:

參數 是否必要? 說明
avoid_tolls 選用 指定是否要計算避開收費路段的路線。設為 truet 即可避開收費路段。設為 falsef,允許行駛收費道路。預設為允許收費路段 (false)。
avoid_ferries 選用 指定是否要計算避開渡輪的路線。設為 truet 即可避開渡輪。設為 falsef,即可允許渡輪。預設為允許渡輪 (false)。
avoid_freeways 選用 指定是否要計算避開高速公路的路線。設為 truet 即可避開高速公路。設為 falsef 即可允許行駛高速公路。預設為允許行駛高速公路 (false)。
avoid_dangerous_turns 選用 指定是否要避開危險的迴轉。設為 truet,避免危險的轉彎。設為 falsef,允許危險迴轉。預設為避開危險的迴轉 (true)。
avoid_trails 選用

指定無鋪面道路或步道的路線偏好設定。支援的值如下:

  • avoid_all (預設):避開所有步道。
  • allow:允許路徑。
  • avoid_long:避免長途步道。
vehicle_type 選用

指定車輛類型。支援的值如下:

  • private (預設):客車。
  • taxi:計程車。
  • motorcycle:機車。

合併參數

您可以在同一個網址中一併使用這些參數,只要以「&」分隔名稱/值組合即可。以下範例說明如何使用參數組合:

  • 如要將地圖中心設為 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>