引言
使用地圖網址,您就可以建立通用的跨平台網址來啟動 Google 地圖並執行搜尋、規劃路線與導航,以及顯示地圖檢視和全景圖片。 無論使用的平台為何,網址語法都相同。
使用 Google API 金鑰時,不一定要使用 Google API 金鑰。
通用跨平台語法
身為 Android 應用程式、iOS 應用程式或網站的開發人員,您可以建立通用網址,如此一來,無論地圖開啟了哪個平台,系統就會開啟 Google 地圖並執行要求的動作。
- 使用 Android 裝置:
- 如果已安裝 Google 地圖應用程式 Android 版並處於有效狀態,網址就會啟動 Google 地圖應用程式中的 Google 地圖並執行要求的動作。
- 如未安裝或停用 Google 地圖應用程式,網址會在瀏覽器中啟動 Google 地圖,並執行所要求的動作。
- 使用 iOS 裝置:
- 如果已安裝 Google 地圖應用程式 iOS 版,網址就會在 Google 地圖應用程式中啟動 Google 地圖,並執行相關動作。
- 如未安裝 Google 地圖應用程式,網址會在瀏覽器中啟動 Google 地圖,並執行所要求的動作。
- 在其他裝置上,網址會在瀏覽器中啟動 Google 地圖,並執行所要求的動作。
建議您使用跨平台網址,從應用程式或網站啟動 Google 地圖,因為無論使用何種平台,這類通用網址都能提供更多處理地圖要求。針對可能僅適用於行動裝置平台的功能 (例如即時路線導航),您可能會想要使用 Android 或 iOS 專用的平台專屬選項。請參閱下列說明文件:
啟動 Google 地圖並執行特定動作
如要啟動 Google 地圖並視需要執行其中一種支援的函式,請根據要求的動作,使用下列其中一種表單的網址配置:
- 搜尋 — 啟動 Google 地圖,以便顯示特定地點的圖釘,或是執行一般搜尋並啟動地圖以顯示結果:
https://www.google.com/maps/search/?api=1¶meters
- 路線 — 要求取得路線並啟動 Google 地圖時可獲得的結果:
https://www.google.com/maps/dir/?api=1¶meters
- 顯示地圖 - 不加標記或規劃路線,啟動 Google 地圖:
https://www.google.com/maps/@?api=1&map_action=map¶meters
- 顯示街景服務全景 - 啟動互動式全景圖片:
https://www.google.com/maps/@?api=1&map_action=pano¶meters
重要事項:api=1
參數可識別這個網址所屬的地圖網址版本。每個要求都需要這個參數。唯一可用的值為 1。如果網址「不包含」api=1
,則系統會忽略所有參數,然後根據瀏覽器使用的平台 (例如 https://www.google.com/maps),在瀏覽器或 Google 地圖行動應用程式中啟動預設的 Google 地圖應用程式。
建立有效網址
您必須妥善編碼網址。
舉例來說,部分參數使用直線字元 (|
) 做為分隔符,而必須在最終到達網址中編碼為 %7C
。其他參數會使用逗號分隔值,例如緯度/經度座標或城市、州/省。您必須將半形逗號編碼為 %2C
。使用 %20
編碼空格,或用加號 (+
) 取代空格。
此外,每個要求的網址長度上限為 2,048 個字元。建立網址時,請留意這項限制。
地圖操作
可用的地圖動作包括:搜尋、路線、顯示地圖,以及顯示街景服務全景。您可以在要求網址中指定動作,以及必要和選用參數。如同網址的標準,您可以使用 & 字元 (&
) 來分隔參數。「搜尋參數」部分會列舉每個動作的參數清單和可能的值。
搜尋
搜尋動作會針對可見的地圖區域顯示搜尋結果。搜尋特定地點時,產生的地圖會在指定位置放置圖釘,並顯示可用的地點詳細資料。
建立搜尋網址
https://www.google.com/maps/search/?api=1¶meters
參數
query
(必填):定義要在地圖上標明的地點。所有搜尋要求都必須使用查詢參數。query_place_id
(選用):地點 ID 是用來識別特定地點的文字 ID。針對search
動作,您必須指定query
,但您也可以指定query_place_id
。如果您同時指定這兩個參數,則 Google 地圖找不到地點 ID 時,才會使用query
。如要明確連結至特定建築物,以最佳方式使用地點 ID 即可連結至正確地點。使用緯度/經度座標查詢特定位置時,建議提交query_place_id
。
搜尋範例
位置搜尋
在位置搜尋中,您可以使用地點名稱、地址或以半形逗號分隔的經緯度座標搜尋特定地點,然後產生的地圖會在該位置顯示圖釘。下列三個範例說明使用相同位置值,搜尋相同地點的 CenturyLink Field (西雅圖西雅圖體育場) 的情形。
範例 1:搜尋地點名稱「CenturyLink Field」;對應結果如下:
https://www.google.com/maps/search/?api=1&query=centurylink+field
範例 2:使用經緯度座標搜尋 CenturyLink 欄位以及地點 ID,如下圖所示:
範例 3:僅使用緯度/經度座標搜尋 CenturyLink 欄位會產生下列地圖。請注意,地圖中有一個圖釘,但地圖或側邊面板中沒有提供其他地點資訊:
https://www.google.com/maps/search/?api=1&query=47.5951518%2C-122.3316393
類別搜尋
在類別搜尋中,您傳遞了一般搜尋字詞,Google 地圖會嘗試尋找與指定位置條件相符的商家資訊。
如未指定地點,Google 地圖會嘗試尋找目前所在地點附近的商家資訊。如果您想提供類別搜尋的位置,請在一般搜尋字串中加入位置 (例如 pizza+seattle+wa
)。
在這個例子中,如果您搜尋到華盛頓州西雅圖的披薩餐廳,就會找到以下地圖:
https://www.google.com/maps/search/?api=1&query=pizza+seattle+wa
規劃路線
路線規劃動作會顯示地圖上的兩個或更多指定點之間的路徑,以及距離和交通時間。
規劃路線網址
https://www.google.com/maps/dir/?api=1¶meters
參數
origin
:定義開始顯示路線的起點。預設為最相關的起始位置,例如使用者位置 (如果有的話)。如果無,這類地圖可能會提供空白表單,讓使用者輸入來源。值可以是地點名稱、地址或以逗號分隔的經緯度座標。字串應採用網址編碼,例如「&City Hall, New York, NY」等地址。請轉換為City+Hall%2C+New+York%2C+NY
。注意:除非您在網址中指定
origin_place_id
,否則這個參數是選用項目。如果您選擇指定origin_place_id
,就必須在網址中加入origin
。origin_place_id
(選用):地點 ID 是用來識別特定地點的文字 ID。如要嘗試明確指定建築物,使用地點 ID 是最適當的連結,可以將其連結至正確的地點。使用這個參數的網址也必須包含origin
。destination
:定義路線的端點。如果沒有任何目的地,產生的地圖可能會提供空白表單,讓使用者輸入目的地。值可以是地點名稱、地址或以逗號分隔的經緯度座標。字串應採用網址編碼,例如「&City Hall, New York, NY」等地址。請轉換為City+Hall%2C+New+York%2C+NY
。注意:除非您在網址中指定
destination_place_id
,否則這個參數是選用項目。如果您選擇指定destination_place_id
,就必須在網址中加入destination
。destination_place_id
(選用):地點 ID 是用來識別特定地點的文字 ID。如要嘗試明確指定建築物,使用地點 ID 是最適當的連結,可以將其連結至正確的地點。使用這個參數的網址也必須包含destination
。travelmode
(選用):定義交通方式。選項包括driving
、walking
(首選步道和人行道 (如果有的話)、bicycling
) (提供單車道與偏好的街道路線) 或transit
。如未指定travelmode
,Google 地圖會顯示指定路線和/或使用者偏好設定的一或多個相關模式。dir_action=navigate
(選用):根據來源是否可用,啟動即時路線導航或路線預覽至指定目的地。如果使用者指定起點,但距離使用者目前所在位置不遠,或是使用者目前的位置不可用,地圖就會啟動路線預覽。 如果使用者沒有指定起點 (這時起點會預設為使用者目前的位置),或是起點接近使用者目前的位置,地圖就會啟動即時路線導航。請注意,並非所有 Google 地圖產品和/或所有目的地都提供導航功能,在這種情況下,系統會忽略這個參數。waypoints
:指定一或多個origin
至destination
之間路線規劃的中介地點。如要指定多個路線控點,請使用直立線字元 (|
) 來分隔不同地點 (例如Berlin,Germany|Paris,France
)。視連結開啟的平台而定,允許的路線控點數量不同。行動瀏覽器中最多支援 3 個路線控點,最多支援 9 個路線控點。路線控點的順序會和地圖上顯示的順序相同。每個路線控點可以是地點名稱、地址或以逗號分隔的經緯度座標。字串應採用網址編碼,因此請使用「Berlin,Germany|Paris,France」等路線控點。請轉換為Berlin%2CGermany%7CParis%2CFrance
。注意事項:
- 部分 Google 地圖產品不支援路線控點;在這種情況下,系統會忽略這個參數。
- 除非您在網址中指定
waypoint_place_ids
,否則此為必要參數。如果您選擇指定waypoint_place_ids
,就必須在網址中加入waypoints
。
waypoint_place_ids
(選用):地點 ID 是用來識別特定地點的文字 ID。Waypoint_place_ids
可讓您提供與waypoints
清單相符的地點 ID 清單。地點 ID 的順序應與路線控點相同,並以直立線字元 (|
) 來分隔 (網址編碼為%7C
)。嘗試明確指定某些建築物時,地點 ID 是最能連結至正確地點的保證。使用這個參數的網址也必須包含waypoints
。
路線範例
下列網址會啟動路線模式的地圖,並提供可讓使用者輸入起點和目的地的表單。
https://www.google.com/maps/dir/?api=1
{0}
以下範例會啟動地圖,顯示從 Google 前往澳洲雪梨、皇后大樓建築物的步行路線。
顯示地圖
地圖動作會傳回不含標記或路線的地圖。
建立地圖網址
https://www.google.com/maps/@?api=1&map_action=map¶meters
參數
map_action=map
(必填):指定要顯示的地圖檢視類型。地圖和街景服務共用同一個端點。為了確保地圖顯示,map_action
必須指定為map
。center
(選用):定義地圖視窗的中心,並接受經緯度座標做為逗號分隔值 (例如-33.8569,151.2152
)。zoom
(選用):設定地圖的初始縮放等級。系統接受的值為 0 (全球) 至 21 (個別建築物) 之間的整數,上限視所選位置的可用地圖資料而定。預設值為 15。basemap
(選用):定義要顯示的地圖類型。這個值可以是roadmap
(預設值)、satellite
或terrain
。layer
(選用):定義要在地圖上顯示額外圖層 (如有)。這個值可以是下列任一值:none
(預設值)、transit
、traffic
或bicycling
。
地圖範例
這個範例網址會啟動以地圖目前位置為中心的預設 Google 地圖。
https://www.google.com/maps/@?api=1&map_action=map
下方範例顯示以澳洲新南威爾斯州科卡姆巴市 (-33.712206,150.311941
為中心) 的地圖,並設定選用的 zoom
和 basemap
參數。
顯示街景服務全景
全景操作可讓你啟動檢視器,將街景服務圖片顯示為互動式全景。每個街景服務全景都可讓您透過單一位置提供完整的 360 度環景。 圖片包含 360 度的水平視圖 (完整的環景) 與 180 度的垂直視圖 (由正上方到正下方)。全景動作會啟動一個檢視器,將最終的全景算繪為球體,相機則位於其中央。您可以藉由操控相機,控制相機的縮放及方向。
Google 街景服務可讓您在整個涵蓋區域提供指定地點的全景圖像。您也可以使用使用者貢獻的 相簿和街景服務特殊集錦。
建立街景服務網址
https://www.google.com/maps/@?api=1&map_action=pano¶meters
參數
map_action=pano
(必填):指定要顯示的檢視畫面類型。地圖和街景服務共用同一個端點。如要確保顯示全景,您必須將action
指定為pano
。
您也必須指定下列其中一種網址參數:
viewpoint
:觀眾會顯示最靠近viewpoint
位置拍攝的相片,並以以半形逗號分隔的經緯度座標 (例如 46.414382,10.013988) 指定。由於街景服務圖像會定期更新,而且每次拍攝的位置可能會略有不同,因此當圖像更新時,你的拍攝地點可能會有不同的貼齊位置。pano
:要顯示的圖片專屬全景 ID。如果您指定pano
,也可以指定viewpoint
。只有在 Google 地圖找不到全景 ID 時,才會使用viewpoint
。如果已指定pano
,但找不到viewpoint
,但「不」,則不會顯示全景圖片。Google 地圖會改為以預設模式開啟,並顯示以使用者目前所在位置為中心的地圖。
下列網址參數為選用項目:
heading
:表示相機的指南針方向,以北順時針為單位。系統接受的值介於 -180 到 360 度之間。如果省略此屬性,系統會根據查詢的視角 (如有指定) 和圖片的實際位置選擇預設標題。pitch
:指定相機的角度 (向上或向下)。音調的指定角度為 -90 到 90。正值角度使相機向上轉,負值則使相機向下移動。預設的間距 0 是根據相機擷取時的位置而定。因此,音高通常為 0,但不一定是水平。舉例來說,如果圖片是從山丘上拍攝,其預設傾斜角度可能就不是水平。fov
:決定圖片的水平欄位。視野以度數表示,範圍為 10 - 100。預設值為 90。處理固定大小的可視區域時,檢視畫面欄位會視為縮放等級,而較小的數值表示較高的縮放等級。
街景服務範例
前兩個範例顯示艾菲爾鐵塔的全景。範例僅使用 viewpoint
做為位置,並設定選用的 heading
、pitch
和 fov
參數。為方便比較,範例 2 使用 pano
ID 和第一個範例中設定的參數。第三個示例是室內全景圖片。
範例 1:只使用 viewpoint
來指定位置。
範例 2:使用 pano
ID 和 viewpoint
位置。
pano
ID 的優先順序高於 viewpoint
。
在本範例中,系統會找到全景 ID,因此會忽略 viewpoint
。請注意,pano
ID 顯示的全景圖片與只使用 viewpoint
找到的圖片稍有不同,而且較新。
範例 3:顯示英國倫敦 Sarastro 餐廳的內部全景,並以全景 ID 指定。
https://www.google.com/maps/@?api=1&map_action=pano&pano=4U-oRQCNsC6u7r8gp02sLA
尋找全景 ID
如要尋找特定全景圖片的 ID,可使用多種方法。
- 如果是 JavaScript,請使用 StreetViewPanorama 類別。
- 如果是 Android 裝置,請使用公開類別 StreetViewPanoramaLocation。
- 如果是 iOS,請使用 GMSPanorama 類別。
- 您也可以使用 Google Street View Image API 發出中繼資料要求。 圖片中繼資料要求提供街景服務全景資料,包括全景 ID。
其他示例
使用路線控點的方向範例
下列路線範例會啟動 Google 地圖,並顯示從法國巴黎至法國瑟堡市的行車路線,並按照下列路線規劃:
國家/地區,城市 | 地點名稱 | 地點 ID |
---|---|---|
1. 法國凡爾賽 | 凡爾賽宮 | ChIJdUyx15R95kcRj85ZX8H8OAU |
2. 法國排行榜 | 沙特爾大教堂 | ChIJKzGHdEgM5EcR_OBTT3nQoEA |
3. 法國勒芒 | 聖朱利安大教堂 | ChIJG2LvQNCI4kcRKXNoAsPi1Mc |
4. 法國卡恩 | 康城城堡 | ChIJ06tnGbxCCkgRsfNjEQMwUsc |
在示例網址中,路線控點會以不同方式定義,因此您可以比較結果地圖上路線控點的顯示方式差異。
範例 1:路線控點定義為城市、國家/地區:
範例 2:路線控點定義為特定地點名稱:
範例 3:路線控點定義為城市、國家/地區,並提供每個路線控點的特定建築物 waypoint_place_ids
:
範例 4:將路線控點定義為城市、國家/地區,但與路線範例相比,路線順序不同。證明地圖會按照點在網址的順序顯示路線控點。
地圖範例
顯示具有指定 basemap
(衛星) 和 layer
(大眾運輸) 的地圖。
街景服務範例
使用 FIFE 圖片金鑰做為 pano
ID 顯示街景服務全景。請注意,pano
ID 前面會加上 F:。