上一篇我們用place(place_id)函數,拿到了 12 家:以台北 101 為中心,半徑 100 公尺內,被 Google 標記為 “cafe" 的地點 (店家) 名稱。
Python – 使用 Google Map API(3) – 取得地點詳細資料
首先複習一下本系列第一篇我們用的程式碼:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import googlemaps | |
google_key = “xxx” | |
gmaps = googlemaps.Client(key = google_key) | |
radar_results = gmaps.places_radar(location = (25.034195, 121.564467), radius = 100, type = “cafe”) | |
print(radar_results) |
最後得到的 radar_results 是一個 dict,裡面有三個根元素,分別包含三個 dict。
我們要用到的是 [‘results’] 這個 key。
Python – 使用 Google Map API (2) – 解析結果
解析雷達搜尋傳回來的 json 物件
上一篇 Python – 使用Google Map API(1) – 雷達搜尋 中最後提到,將回傳的內容print出來後得到下方的結果:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{'html_attributions': [], 'status': 'OK', 'results': [{'place_id': 'ChIJSTLZ6barQjQR7OeldE1QDsU', 'id': '09bd306d8a6fff4ed4920a843bfffb77405c4dbc', 'reference': 'CmRSAAAAbulvhVx0YEexX2M3Fi3BtxLea2U8_7Ruq1HnivcsnhQfnbur1TxVfdKCFSICFQeUyoOsGnvZLDHHHzNaP7QN__fJ4LL9WNdqW2pRPRhqsUKG8ZAKYm7puNkundjgFlPTEhARhMUPDUPBbAqDYGP6G3ddGhSaoLSfPYT4cLtjcxW72QReaX93yw', 'geometry': {'location': {'lng': 121.5651166, 'lat': 25.0338119}}}, {'place_id': 'ChIJraeA2rarQjQRcsQVAszSNog', 'id': '24711f6d1d5600fb77e7fe680d251776da27bc56', 'reference': 'CmRSAAAACT67OQqRIlpQmduE4RAFWcqxSXhEbt3gZO4SYGTwLpKbZXZu30OBpb4C8D5ncJwDtMsE13xuEIqDAqAayuIOfRQSzDq3hFmdKnaWsKSI62s7LtEQSfCs1TXQO6OxehaVEhDG_WnFgjmK8QwaV_v8ZaDvGhSghBE7BlQ14yWAwQvaGYZy3oXriA', 'geometry': {'location': {'lng': 121.56481, 'lat': 25.033718}}}, {'place_id': 'ChIJSTLZ6barQjQRDNycA51cBq4', 'id': 'cdff9d8fc20ef48d0f10f3227e890d97ed3c8ce2', 'reference': 'CmRSAAAAm1FvUZQ0fWLwYXD4COXlRNfNS3KJqs9B7AdMbjthAfy0aHB6fut6Uf8MbLd9vpQoTlLr0JznkXjMRVQoMiGarDO-GHEh4DLAGOs66F8F5L5g6DU-_TgliEgsXQuyf9-tEhADSx7IIYzZGUEicpsO4CckGhT20WcmEFlbas7zM4eFHkGDvE1cjw', 'geometry': {'location': {'lng': 121.5645391, 'lat': 25.0334612}}}, {'place_id': 'ChIJ1S3Z6barQjQRKb4ubuIujDg', 'id': '5aec3fa9fee319e70950b8b265622a0adf51e8e2', 'reference': 'CmRRAAAAibD4kyOb2YztYpfYlSYiSnDYSjSgrjLL51cI0IbKHArB_dQUveca4MWIwaXxjR9D5lRxQStyZeuU2CazfKuv-3hjCejKJZuFG6lVIVryDY4mh8rvWgMOtgN80T8cCYJSEhB1BghYVb_PoZ17kPRgjxXJGhQ96erXB8xywkj9bEWtBPN0o-jkuw', 'geometry': {'location': {'lng': 121.5638627, 'lat': 25.0334962}}}, {'place_id': 'ChIJNzLZ6barQjQReRr0AwrDlfI', 'id': '64d339a0714893fa6879639e28828563ba9409de', 'reference': 'CmRSAAAAplF_qWllM9uLZU6Z8M_wgo_GHErDBYwXtAknAYtYQ-xgfQX_bLAWBBT9IVTxpUI-9BTN0xvxcBt-cHPGe5cDtNMqEGfN78sDJYKnPwvDKLNFmYNbsQaMm-fPWImw4eKXEhB3q8dK0bCg586TexrYSiEdGhRe2fDMyupgMccnLxCuTYNwiwg-uA', 'geometry': {'location': {'lng': 121.564101, 'lat': 25.033493}}}, {'place_id': 'ChIJrXJz7K2rQjQRis4azcE0bl0', 'id': 'b3055b2436ef8135d9ba12e8bb1abfcb0a07351a', 'reference': 'CmRRAAAAPC1Bv9Gw9B_IxUAL-ThPIV-E4G37rYJqWbw8TCTYQK1rN6yVacSS9sID2WdUtptvlXGziZcvtj7l_KLIOxCSnk78uJ3xWNwDlZXKD7ZSZYMPzktNyL8yA8cHHQth1_kjEhABPqmb0iD2LmijQI0MSkwXGhQJdueeyKUT3dMnhtOiwlT-escUmw', 'geometry': {'location': {'lng': 121.5648144, 'lat': 25.0335615}}}, {'place_id': 'ChIJO8RPJ7erQjQRK7lBH_vJJQs', 'id': 'e7038e4be482c4f18c7776a505999d3769c08015', 'reference': 'CmRRAAAAno6LB7BiEpmHILy7lMjvImr1_VpVQbonyJPduFaHoi50ZlLZvwdzDwjiuy4BHnIjE_D0095Lc_nGnHQln2ApukT4jug00vlEsNW1OTIftTwVdsybe0kWx6eLDpBM4JiaEhCsx61tHrcilHVrw0gPKGoXGhQrR3niCYNznqbK4Qn6JpqG1tCkEg', 'geometry': {'location': {'lng': 121.564461, 'lat': 25.0338915}}}, {'place_id': 'ChIJUwMfwrarQjQRTg3KGHwh1gU', 'id': '5fc15ea7ded0cbf6c450e61eb60ac30bd19aaf92', 'reference': 'CmRRAAAAfrv4l4ihJEuwyq9ducmmdt0RH_Z5bJJTJQgGYHTefmZSOjl7_ti7iNeZJjzFc5gLabIdzkvdXhf4TARUf4w1OR7o1Tmlsh4E-PWC6koTwZNiivnaPxOIpDa50MDLDmGsEhBbp0wWEea6Z6fIIVg0gDp2GhSBXaaHeiWIVcquFsGXTZ02ZaTfWw', 'geometry': {'location': {'lng': 121.5641948, 'lat': 25.0333792}}}, {'place_id': 'ChIJN6uq3rarQjQR12G5vIYbHAw', 'id': 'c89fd501af56ddeb6844e3f23e65c1c9120c2d49', 'reference': 'CmRRAAAAPlbRsZY1Thk7MuD1m_Dluyzs0F_RSDcrcNtDBnrfZJyhItZF4NqR6AhbEy4IX_LQumwh8vvYMUscTBGttQT2zIYRpLWeNI0XHk1FCyIbyCiNyT5jQ7n0azWDQeC2YQiVEhDoKE6X68MsDYGPuCV8P02LGhSKiN_W_GTMfU1u64plzzL_JjVNmQ', 'geometry': {'location': {'lng': 121.5644721, 'lat': 25.0339649}}}, {'place_id': 'ChIJoSJTw7arQjQRnCc70GtKTNs', 'id': 'c6423bce8f2d8f984e621fd0086981ad4aaceea2', 'reference': 'CmRSAAAAsEeZIt1HTM3L8WPFHaCemTLwzObpXdNKXcU1tAGXoupq7ZK1Eky2oINI07uXNd–55f_HI_EcvLuV1PCDIeXieOjjJKjgWTsx4ek6J4u6Zcqb0xhP_yj63u8LScN01AvEhBgjKn_0EpKjlJAyfn8RXq9GhS6WNbtnJGTXCQOd3mUkUhbPZTaBg', 'geometry': {'location': {'lng': 121.5644412, 'lat': 25.0336347}}}, {'place_id': 'ChIJsVahxLarQjQRfkqE8XAR_9E', 'id': '80142f8b863f944054639597685da4dc180b60cb', 'reference': 'CmRSAAAA9DofkcecvBbsXclrzD9TrguQsl7Fw43GZGSNQlBdOuyHx6eZUceo8hfUEImoq7JQKCeovDd_29SrNGzCCy-Jp2dKYAol8TRfLfX1SjcPzQAL93wVEgkBPu-Nh6hb_tkpEhCpBhVcasoveJ7Qc6ytTq28GhQI2mSe_IzEIw8cedGIVFPoXAvXog', 'geometry': {'location': {'lng': 121.5644932, 'lat': 25.0335639}}}, {'place_id': 'ChIJMQANxbarQjQRtrPUHgvc_F4', 'id': '46000da8d74a1f3e7269e9b257f05b7077c95e79', 'reference': 'CmRRAAAA1W-e2Pjy2RElOjCoPtnyguJotI_iHaqzGDex8fJEp0sOgybjphCn-PkwJVsxb7I4CM-iZpI75L5sQGXwpaaL3twFBritvq1eHC7fkBcLMTmdGdvK4QevISPS5chmJFSpEhAErtzFHR93_hcWNNM6vgfNGhRDDW6WOy2Y1WpBHrwT_L7rm44f8A', 'geometry': {'location': {'lng': 121.5647292, 'lat': 25.0334375}}}]} |
首先我們把這些內容丟到 json editor 來看看:
*線上 json editor 的版本很多,我就用我習慣的平台來做。
Python – 使用 Google Map API (1) – 雷達搜尋
目前雷達功能已經被Google停用啦,請改用nearby功能吧。
這邊最進不會更新nearby相關的資訊,不過其他分析的方法應該還是用得上的,希望能多少幫上一些忙,大家一起加油吧。
雷達搜尋功能 (radar)
用途:
顧名思義,就是以某個特定地點為中心,在設定的半徑範圍內,找尋特定類型的地點(店家)例如:台北 101 半徑 100 公尺內的咖啡店、台大附近 100 公尺內的餐廳。
用法:
設定好「中心點經緯度」與「地點類型」以及「半徑長度(公尺)」三個參數之後,執行place_radar函數,會回傳「半徑範圍內」被 Google 標記該「類型」的地點(店家)資料。