前一篇:Excel-查詢地點的經度和緯度的經驗,讓我們可以經由地點名稱查詢其經度和緯度。本篇要反以經度和緯度來查詢地點的地圵。
1. 產生地址 XML 內容的網址
公式:="https://maps.googleapis.com/maps/api/geocode/xml?language=zh-TW&latlng=""&A4&"",""&B4&""&key=""&YourKey"
(1) https://maps.googleapis.com/maps/api/geocode/xml
向 Google API 要求查詢產生 XML 的網址
(2) XML網址?language=zh-TW
因為預設是傳回英文的地址,如果要傳回中文的地址,要加上參數:language=zh-TW
(3) XML網址?language=zh-TW&latlng=""&A4&"",""&B4&""
例如,以緯度=25.0400306和經度=121.5602452產生XML查詢內容
https://maps.googleapis.com/maps/api/geocode/xml?language=zh-TW&latlng=25.0400306,121.5602452
(4) XML網址?language=zh-TW&latlng=""&A4&"",""&B4&""&key=""&YourKey"
其中 YourKey 是要加入你向 Google API 申請的金鑰。
2. 取得地址
儲存格C4:=@FILTERXML(WEBSERVICE(地址的XML網址),"//formatted_address")
(1) WEBSERVICE(地址的XML網址)
透過 WEBSERVICE 函數取得地址的XML網址內容
(2) FILTERXML(第(1)式,"//formatted_address")
FILTERXML 的語法為:FILTERXML(xml, xpath)
藉由 xpath=//formatted_address 取得位址內容。
因為完整地址在「formatted_address」標籤之下。
(3) @FILTERXML(第(1)式,"//formatted_address")
因為這個結果為動態陣列,所以加上「@」,讓結果只顯示第一個。
【延伸閱讀】
【參考資料】
FILTERXML 函數參考微軟提供的說明網頁:FILTERXML 函數
留言列表