ひいらぎの日記

デザインはまた時間のあるときにやります!

Google Places APIでプレイス検索(Python)

Google Places APIを使って現在地周辺の色々な建物を検索してみました。

f:id:ymho_99:20170824145708p:plainf:id:ymho_99:20170824145714p:plain

現在地の取得にはGoogle Maps Geolocation APIを用いてみました。これは、携帯基地局情報やWiFiなどから現在地を取得するapiです。

GPSを用いていないため、誤差が大きいです。現在地を取得するのはGPSを使用するhtml5のGeolocation APIがより正確ですが、今回はブラウザが不要ということでこちらを使ってやっていきました。

なお、どちらのapiも、使用するにはキーの取得を行う必要があります。

現在地の取得

Google Maps Geolocation APIを参考にしました。通信は、HTTPSのPOSTによって行います。リクエストとレスポンスは両方とも JSON 形式で、content-typeapplication/jsonです。上記サイトに、リクエストの記述について詳しく書かれています。サポートされているフィールドには、基地局情報やWiFiに関して色々ありますが、これらは省略できるので今回は省略しました。記述した方がより精度は上がります。 下はソースコード(参考)です。

Geolocation_key = #apiキー
url = "https://www.googleapis.com/geolocation/v1/geolocate?key="+ Geolocation_key
obj = {
}
json_data = json.dumps(obj).encode("utf-8")

req = urllib.request.Request(url=url,data=json_data,headers={'Content-type':'application/json'})
response = urllib.request.urlopen(req)
content = json.loads(response.read().decode('utf-8'))
lat = content['location']['lat']    #緯度
Lng = content['location']['lng']    #経度
radius = content['accuracy']        #正確さ(半径)

下にレスポンスの例を示します。

{
  "location": {
    "lat": 51.0,
    "lng": -0.1
  },
  "accuracy": 1200.4
}

latは緯度、lngは経度になっています。accuracyは正確さを表す半径です。取得した緯度経度を中心とし、この半径内の誤差が想定されているようです(GPSではないのでかなり広め)。

プレイス検索

Google Places APIを用いた周辺施設の検索のことを「プレイス検索」と呼んでいるようなので、この言葉を使っていきます。 Google Places API Web Serviceを参考にしました。日本語が充実していて嬉しいです。

こちらは、Geolocation APIと違ってリクエストはHTTP URLです。

https://maps.googleapis.com/maps/api/place/nearbysearch/output?parameters

outputjsonxmlの2つが選べるようですが、推奨されているのはjsonでここでもjsonを選択しました。parametersに記述する必須パラメータは、keyapiキー、予め取得したもの)、location(緯度経度、先ほど取得したもの)と、radius(検索半径、せっかくなので先ほど取得したaccuracyを使いました)です。また、radiusの代わりに、rank_by=distanceというものも使用できますが、新たにnametypeskeywordのうち、いずれかのパラメータを加える必要があります。

他にも色々面白そうなことができます、プレイス検索を参照してみてください。

ということで、とりあえずやってみたことを書いていきます。

レスポンス

Geolocation APIのときと同じ方法で、プレイス検索を実行してみます。先にレスポンスの例を示します。ロケーションは「大阪駅」で、types(後述)にuniversity(大学)を指定しました。

{
   "html_attributions" : [],
   "next_page_token" : "NEXT_PAGE_TOKEN",
   "results" : [
      {
         "geometry" : {
            "location" : {
               "lat" : 34.70225440000001,
               "lng" : 135.4904128
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.70360338029151,
                  "lng" : 135.4917617802915
               },
               "southwest" : {
                  "lat" : 34.70090541970851,
                  "lng" : 135.4890638197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "2527f5962a7136d705c22fd7e61e080512838250",
         "name" : "創造社デザイン専門学校",
         "photos" : [
            {
               "height" : 2160,
               "html_attributions" : [
                  "\u003ca href=\"https://maps.google.com/maps/contrib/115757658207238128268/photos\"\u003e市川太郎\u003c/a\u003e"
               ],
               "photo_reference" : "CmRaAAAAciB1OiWZ_XCjCNc6jM9kAB3naFfFd45ydIBmFqgik1ExksGeQ-JvMx1czNQm3OCcUwqDcP3B1D1lzkxy6XopTVAguxltinFUfCKbR_phIojbmA0vHmROWLu-k6liDdMiEhDT15uJGVVuF7eDYIc2keCYGhSRdlDD4i_ZKhefSu1MzvxppFxqHA",
               "width" : 3840
            }
         ],
         "place_id" : "ChIJZVH5b4nmAGARvwMfI8k9P_U",
         "rating" : 4.3,
         "reference" : "CmRSAAAAM-uTgvYzgu1pvX7fZp9nHuJCfyXQqoqUdj84L_swpIliGTNAD8LXlU3yo1tmScAG8eBrtJf7cq4pHteOHWLroN_3RbeSd1ts5UTrSl5LjFnTIFxIX-rnTdd-aULvcgjREhByyw76hk1HJYioCXJnOukUGhRmh7gbK60rPoEsVII2OpPBEozsLg",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市福島区福島6丁目25−23"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.69963250000001,
               "lng" : 135.4990685
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.70098148029151,
                  "lng" : 135.5004174802915
               },
               "southwest" : {
                  "lat" : 34.69828351970851,
                  "lng" : 135.4977195197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "e4e71687dddad686b032e116e97eb12985ca0b11",
         "name" : "京都女子大学 大阪オフィス",
         "place_id" : "ChIJY8WQHu3mAGAR2JwXMwaaf1k",
         "reference" : "CmRRAAAAjwJZKkChD4wp_HotIlfkgLNUD1jLR1LugLslfhLBexxJ0Tu-_-c-yANTN0-7NYJadWqrFDN44s3ie9kN8N9izWF6mNlnstJ_loChRTskOsCuHZxiMjelp5yR1dbUocDkEhC2V1d2cqOb0kkICbrb2je-GhRJOljDlkQdHtjtHOhBsa8IFPcqUA",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区梅田1丁目11−4"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.69781210000001,
               "lng" : 135.4939915
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.69916108029151,
                  "lng" : 135.4953404802915
               },
               "southwest" : {
                  "lat" : 34.69646311970851,
                  "lng" : 135.4926425197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "f3c80fb854f5deafa78dedba293c7c6af999319f",
         "name" : "株式会社日本アジア文化センター",
         "opening_hours" : {
            "open_now" : true,
            "weekday_text" : []
         },
         "place_id" : "ChIJ96pGO_PmAGARUU1zyXEffgA",
         "reference" : "ClRQAAAAI_7IA8RPJ393oYrU5hHicuyMMdSIeT5yzDSLBEOgSJKXyEV-0pjEsZ8jXLu4dxR65vEUjeDezZdROhncHSvkbYJItTaga2oRW7y62_VWYdISEFKs_3zcblBN9lNQNDUJCmQaFG9XIKYovK-pSn9YCg9habWx0WP1",
         "scope" : "GOOGLE",
         "types" : [ "travel_agency", "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪府大阪市北区 曽根崎新地2丁目3-13 若杉大阪駅前ビル5F"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.702334,
               "lng" : 135.500148
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7036829802915,
                  "lng" : 135.5014969802915
               },
               "southwest" : {
                  "lat" : 34.7009850197085,
                  "lng" : 135.4987990197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "9f7bb99183ae2ed021204dfbffc7c931a177ce8e",
         "name" : "立命館大学 大阪梅田キャンパス社会人大学院",
         "place_id" : "ChIJLz6fJJPmAGARnmgdtN4wRu0",
         "reference" : "CmRSAAAAf377LOt42Fpzsx8zv4N55l09KQSme6vi-Kjqx5JnqTs-1r9GWsesbQI1c4Goa8wDaxsWfcca8nAbwjg-rxQ-7L0AwgYhxkzdAaG_yRcsmpEUM2eh9xODNH9pDga7tbrSEhAd9LB1QOPAVuUxuL-Ha4yqGhQ1DgY0KR9tBWQMPyMc_lbXvaJANg",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市 北区小松原町2−4"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.7021464,
               "lng" : 135.5003165
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.70349538029149,
                  "lng" : 135.5016654802915
               },
               "southwest" : {
                  "lat" : 34.70079741970849,
                  "lng" : 135.4989675197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "614442bc2419bd89f9606f828afb547ec30a7802",
         "name" : "立命館大学 梅田大阪キャンパス 就職活動支援",
         "place_id" : "ChIJLz6fJJPmAGARmJbneXw72SE",
         "rating" : 2.3,
         "reference" : "CmRRAAAAELzFIwfHbtihPlJcuCvToQFaNM2WWSI08O99kHKTZwqK_MWvj_rf3NCHDmXARhe6snzUN0CGrzOd2pA8-1-LFuLnaMPT3HsCarMZCpEGcF0J995zlyV-KzjZyZdhEESbEhCcuBF1epAMsr4HX35mB0NvGhSi1Ykx0nE5BlGiE6vgJS-d1tfYqw",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市 北区小松原町2−4"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.7028134,
               "lng" : 135.500372
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.70416238029151,
                  "lng" : 135.5017209802915
               },
               "southwest" : {
                  "lat" : 34.70146441970851,
                  "lng" : 135.4990230197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "88001efd7cef2f1ca34fd48ac7b5777928c2d8fd",
         "name" : "芦屋大学 大阪キャンパス",
         "place_id" : "ChIJiURGFZPmAGARhr9gzmkDzUA",
         "reference" : "CmRRAAAA5Q3ohzdoH0LOCYYK7GFcPuB3YRfmBvRe23NGkodw2p3bhBMAml6M8ud5HHwdaX_xGkjVEQ2Tr1E4nBoYk3i7j1LWoIaHElqkC37x1dRIWqCFiSlnc9sTPM3S7EdVbqxREhBtWpP_ik2Upl5FJur5gXgLGhT1YQksA7y9R_RbnSJrdyhtuDljNA",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区小松原町3−3"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.698829,
               "lng" : 135.499248
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7001779802915,
                  "lng" : 135.5005969802915
               },
               "southwest" : {
                  "lat" : 34.6974800197085,
                  "lng" : 135.4978990197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "da844c29249e6ebbc75a85206afa8628f6c911c9",
         "name" : "大阪産業大学 梅田サテライトキャンパス",
         "place_id" : "ChIJu8FMVezmAGAR7ShAmT5VhyI",
         "reference" : "CmRRAAAAyJ61IuIegU10XRkfxYA0LRxyl2OL5TseLgnzYSOCkUJ9YHxsvll6eogH4L5ZtyzRAidtWSnN5P7jyCIvPRtfFw01TzyNqQmwWvktmMcX36UBkWh94rsMz1FuBWopF8lUEhBYSh_WhUOX5A3hgzjIezKjGhSKwOojvaYFFPpugrvN99sYRvLPXQ",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区梅田1−1−3"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.6988288,
               "lng" : 135.4992485
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7001777802915,
                  "lng" : 135.5005974802915
               },
               "southwest" : {
                  "lat" : 34.69747981970851,
                  "lng" : 135.4978995197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "7574447626d7c9cace4906e0952c7944552d4654",
         "name" : "熊本大学 関西オフィス",
         "place_id" : "ChIJ1WWpqu3mAGARWDhaqL96wuU",
         "reference" : "CmRSAAAA0DvFy6IX_NY5Cz2jepOi48Bixz711f4nt1piBb2EENor4k37fgHeycQbbEr7ncgvTfy25IYDCNaH9nx-2xRNat11Ead6OmMu4gEim4fu9kQx_pZbMz3pmtmLNox211i5EhB8DnV_Um9tG2O3p81JnR0xGhRmeeVEZBPP4-ma3FZciLgH4tHgPw",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区梅田1丁目1−3"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.6988288,
               "lng" : 135.4992485
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7001777802915,
                  "lng" : 135.5005974802915
               },
               "southwest" : {
                  "lat" : 34.69747981970851,
                  "lng" : 135.4978995197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "f69b1ce823d89a9ea006d02fbd9ca30bfc87c8bb",
         "name" : "鳥取大学 大阪オフィス",
         "place_id" : "ChIJrYRtAO3mAGARdeaYpaDhoLA",
         "reference" : "CmRSAAAATT668su_dq_CcxixkALXFca3Vy7Nqg_10QZG8-AeTsqFUQAYPGq1xkhPPSjYfcBIhpLtCBMMEDurVcFJZX4aBtlTcqPcqZPiBy5_Z5TQg1dDwi3kmdY3AwRycqnF9iYGEhBujYTe1_3Ni3Flev8cUlOZGhTMUwd_Qnp6gHy52ZXHoNjA06Ff8Q",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区梅田1丁目1−3"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.698779,
               "lng" : 135.499415
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.70012798029151,
                  "lng" : 135.5007639802915
               },
               "southwest" : {
                  "lat" : 34.69743001970851,
                  "lng" : 135.4980660197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "6a2eed19a99074a46dd0e8ddd2a95aa8e81a1e56",
         "name" : "テンプル大学ジャパン大阪校",
         "place_id" : "ChIJrYRtAO3mAGAR4yJYW61zu2A",
         "rating" : 5,
         "reference" : "CmRRAAAA1_yeF02N8ylWliks_BDdPBqKHP4UPJSQEXjAZRULoJifc0N3955NPCnrh1f3Ms1XdNsaiNzZfbwE-4dYgv268gxY-sWIi8zcl6B-geeqNPNwuORd1lQu2YUtpL3H4JcgEhALwCvCrVKUL4FR9WYbHqzEGhQsvV-ByYUqxJYGo01GOb2R9DuA5w",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪府大阪市北区 梅田1-1-3 2100 大阪駅前第3ビル21F"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.699389,
               "lng" : 135.500382
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7007379802915,
                  "lng" : 135.5017309802915
               },
               "southwest" : {
                  "lat" : 34.6980400197085,
                  "lng" : 135.4990330197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "971e11df57c692a38c293b73f4fdef0e607b32da",
         "name" : "(株)留学ジャーナル",
         "opening_hours" : {
            "open_now" : true,
            "weekday_text" : []
         },
         "place_id" : "ChIJrYpW9ezmAGARQzQuq1IsTNM",
         "reference" : "CmRSAAAA19J6yTKBwyHbZ3KIvMwb62SDenXPqATfseTLAIVxL9ojcA2rXfClbxkYr2J6FDhNY5F0g89-jMcii51-PywYURgp6md0vaV4GdJuP1n6q4vsvTnU4yI72EuXQY-3JpnfEhABRvqQI0TMNtOrTEUvwOoXGhQvnYI-y286sLbTnuVFE523111EPQ",
         "scope" : "GOOGLE",
         "types" : [ "travel_agency", "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市 北区梅田1-11−4 大阪駅前第4ビル21F"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.7054727,
               "lng" : 135.5002257
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7068216802915,
                  "lng" : 135.5015746802915
               },
               "southwest" : {
                  "lat" : 34.7041237197085,
                  "lng" : 135.4988767197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "a6373d81d64a659a97e04382716666309f66b811",
         "name" : "大阪工業大学 梅田キャンパス",
         "photos" : [
            {
               "height" : 3120,
               "html_attributions" : [
                  "\u003ca href=\"https://maps.google.com/maps/contrib/113947973414279056061/photos\"\u003emorikawa seiya\u003c/a\u003e"
               ],
               "photo_reference" : "CmRZAAAAGIVOpsM8DRDMyQskBl31EN0NGimNDacXiZTxt5NAgSAY62GNA5d32u8w4aHCyfSyTf3zLXYYlCbPwY8yOW6AZ1B2RoiqFjQDQjUTTsLO6asbcpyfGTTo3A7bAqsdFwfzEhDT9lM6eMrKE5hEjQhXXBStGhTn6jhbykg6fCfRnvUNISVKm5QkXw",
               "width" : 4160
            }
         ],
         "place_id" : "ChIJof-_3JPmAGARo93FQSRGgss",
         "rating" : 3.6,
         "reference" : "CmRSAAAAKPqvXDJ0EdcT0R2Jf46zi9ga0qpgfQHjAuc6lLyLWUnC4yJ6MgoEoJuRcAZEEO3Y3kGLFybXq21kvKKuulL4sijwNaDVQq1ArLm7M2a0N6HKqjKae-lgS9xoA8fE50wiEhCFpm19ZbUQDXSFAWT9pnplGhRllTKxuZbr3aYICYjjElhR6k9mHg",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区茶屋町1番45号"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.6957768,
               "lng" : 135.4945428
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.69712578029149,
                  "lng" : 135.4958917802915
               },
               "southwest" : {
                  "lat" : 34.69442781970849,
                  "lng" : 135.4931938197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "117aa7219918ee80229858c5544aecd165fe36bf",
         "name" : "NIC International College in Japan 大阪校",
         "opening_hours" : {
            "open_now" : true,
            "weekday_text" : []
         },
         "photos" : [
            {
               "height" : 3840,
               "html_attributions" : [
                  "\u003ca href=\"https://maps.google.com/maps/contrib/110299657698368209895/photos\"\u003eNIC International College in Japan 大阪校\u003c/a\u003e"
               ],
               "photo_reference" : "CmRaAAAASaupFhyo1DNkr12K_CwTOTJZANF0cVwdpH3mb_wF5VX2qJ_zMkMcqI5cyh2devsA-mgr7cbEcOgfs8pQAvD9GZFHiNRSK21-or3GYmt_EW5lyQ9jCUKOutONGKEYmCn3EhCQQpVgiMHPY41A7Dj_g2ItGhQOOsc_iD6-5Sos-z8amqiOLxz-Zg",
               "width" : 2560
            }
         ],
         "place_id" : "ChIJs2o0uPTmAGARbF27kapQCco",
         "reference" : "CmRSAAAAvPMy8aIhMyUwkZrimb4JheWw23J4VmsMP0buni_9bjgnDOVSj998k8TRXwbLJdSn708E4Sq5pBy0pNyBGwN4zo1HQnqoIQwaW-5msy3FL1crK5of3hbyiUdyDlEOQ71FEhDwiwd9AkDUs76NxTIKU2kjGhTxtU4tiMHoPO8OPDs8RfmGTAlk0g",
         "scope" : "GOOGLE",
         "types" : [ "university", "school", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市 北区堂島2ー1ー7"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.70794279999999,
               "lng" : 135.4971356
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.70929178029149,
                  "lng" : 135.4984845802915
               },
               "southwest" : {
                  "lat" : 34.70659381970849,
                  "lng" : 135.4957866197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "a467beea92b2994bd271cd7d5315c0868b17f2f9",
         "name" : "宝塚大学 大阪梅田キャンパス",
         "photos" : [
            {
               "height" : 1307,
               "html_attributions" : [
                  "\u003ca href=\"https://maps.google.com/maps/contrib/107307351353889895449/photos\"\u003e宝塚大学看護学部\u003c/a\u003e"
               ],
               "photo_reference" : "CmRaAAAA1SwmpNaN6ozY9lMBG3tHwOAlZ2ihd4zybRvzEqxEu-7r7a9xhjgM63dhjlOjBa1x-5-CBVvRuZrSJVODwH-4R5obd3YUBv3yp3ooQRdyFQJsBgGZhDNaF5ehPLfzC6BhEhAc-xqrLhbCijWULu96HRRFGhTXpjiKud6fMlldqD3_zeGkdG4N4g",
               "width" : 871
            }
         ],
         "place_id" : "ChIJnUzBH5DmAGARfA5nO3CwrTo",
         "rating" : 5,
         "reference" : "CmRRAAAA2XEFz_Jc6vulQuJ7Bu_KZ_RUz2BvS8UD7nYj8E6TFqFCV7mp5oUmhGMaR5njP7quIuiUZZxa3Su0W8ohRwNtk3RWF2Py5ZdU-jLU4SCzLDPBEIdi7ppARiinX_x6bkk_EhC9XOd7NamMjH6lmO4Atf64GhRkXa3uCXGYy2raYH9aZempghDUfQ",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区芝田1丁目13−16"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.7085308,
               "lng" : 135.4985539
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7098797802915,
                  "lng" : 135.4999028802915
               },
               "southwest" : {
                  "lat" : 34.7071818197085,
                  "lng" : 135.4972049197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "79f62dfb063c3c257ad81f38f83989123bf5aa71",
         "name" : "関西学院大学 大阪梅田キャンパス",
         "place_id" : "ChIJUZ25QpDmAGARwEo_iAEALr0",
         "rating" : 1,
         "reference" : "CmRSAAAACA9-YyeWEv8sz8JrzO1JVibcU3wvnNTd0TIk1D62VSdNycAHkk4zgjpZFDHfUrs5v8yZBuXRPzsNuYndymfHijZ13vTS3Yj8oQt41sUHMt_j8lS_C3WAnVpbj9oAYXoaEhDxavR2Tm6AdvK-ll9XlxrGGhTwCzmiVVEwwev7HrQDZ7_yp0DCUA",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区茶屋町19−19 10 階 ,14 階 アプローズ タワー"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.70672520000001,
               "lng" : 135.5032091
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7080741802915,
                  "lng" : 135.5045580802915
               },
               "southwest" : {
                  "lat" : 34.70537621970851,
                  "lng" : 135.5018601197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "571883a01b3890ee138b906399fd31debf76383c",
         "name" : "株式会社アートスタッフ",
         "place_id" : "ChIJlawkO5TmAGAR64UmmsjUoz0",
         "reference" : "CmRRAAAAd-nDDGRYtmnFjUTAivkWbEkBangt4OYiDVVQPcngoy9WaA3Fy87ws4_6EEAdOPJl4zzix9w-x1UJ3k5YVXJbOc87shfU6igQlua8okPFEK2lq5OcnUhxqfEOg1wFvMHTEhCMJCDPp1SHwLm2XgAjD7NAGhQmA826aYa0BbTGVE8Zx6bjopc1cw",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪府大阪市北区中崎西2-6-17 ワオ第1ビル2F,3F"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.6927134,
               "lng" : 135.4904719
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.6940623802915,
                  "lng" : 135.4918208802915
               },
               "southwest" : {
                  "lat" : 34.6913644197085,
                  "lng" : 135.4891229197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "64f9c99bf358e59aeb3544dca74a0a0f54335799",
         "name" : "広島大学 入学センター大阪オフィス",
         "place_id" : "ChIJqW_NJ_TmAGARdTuCbqtOXqM",
         "reference" : "CmRSAAAAFD3fDgh4t28UzOBIhGgrXaTRF7KqDEhslHk2qE8dHbrQN9PTgGMjrL8rIG2P6SPUrNT7xWCNodHY0qGE_8Vgm7Zv_74eJ-OsyPJZ-qFFthx2TKUjyLyNGV2ShVqvqc5IEhAU2cjYN3lEBOmUOZOzuCbOGhQkinFrhbX-Zxxt_Kx8l0XwgV5mtw",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区中之島4丁目3"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.6937378,
               "lng" : 135.5021651
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.6950867802915,
                  "lng" : 135.5035140802915
               },
               "southwest" : {
                  "lat" : 34.6923888197085,
                  "lng" : 135.5008161197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "f6c7c23fc453b3a9a7bc8f4dc9705b1db148c104",
         "name" : "国立大学法人 大阪教育大学天王寺キャンパス",
         "place_id" : "ChIJDXa8qOjmAGARshyx82dcf1o",
         "reference" : "CmRRAAAAH7msqKRQXJ3XdeJqVTijryBDJT0FsLMC8tAM4BJj20KFgDVYnH72YHhboxPF-znHn9mzdZb1Qy8qMYNRApo0p5ozFete8N5whm4T13vfecDha3xxQO1Efvbr1M7GTKBQEhD75XOTfrTiqfzX0n1F66SsGhTNJVEMscIKPCKs6PrTx4HGoYYxbw",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市天王寺区南河堀町4−88"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.7129772,
               "lng" : 135.5010982
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.71432618029149,
                  "lng" : 135.5024471802915
               },
               "southwest" : {
                  "lat" : 34.71162821970849,
                  "lng" : 135.4997492197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "9880d8340a79218f5f30fc7576c13e870b3f80db",
         "name" : "サンダヴィンチ・アートスクール 梅田サテライト",
         "place_id" : "ChIJhTJBLZrmAGARQG2g2SEfLME",
         "reference" : "CmRSAAAAw_vp_A5ywKP5h4mkaQhyWTfQnY1nybS1mzjiHzUKvpe7wZ8BovVp7bESEjKTFpi0e4J7unYTewH77yUU8FJdN_XY6TxAioGN1EH-ppEtGeQ_11o2d7ty_dHYR3EdVx3mEhBrnOAE2kABqFqfiZwTObBSGhQLpQqWXAR1pfXml_G8PeSzsYjgjA",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区豊崎4丁目6−26 北梅田アーキスビル"
      },
      {
         "geometry" : {
            "location" : {
               "lat" : 34.703845,
               "lng" : 135.511256
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 34.7051939802915,
                  "lng" : 135.5126049802915
               },
               "southwest" : {
                  "lat" : 34.70249601970851,
                  "lng" : 135.5099070197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
         "id" : "6b2789d602b77b2ba7504b0e746e53f8db876ee3",
         "name" : "マージャン大学",
         "place_id" : "ChIJP1MN0sbmAGARe1rngN8reO8",
         "reference" : "CmRSAAAAGNbj0auiCLKIAtpUW76PNvX8jT7_BBhq7OR7LbJqbELEtiqRoMqujGuhCx4WAHooJ-wqiYDkBdHpOXpGL_JyMEG0gWaU5e4rc7Dwe2W2pt3QHJWFmKNfgRQaPlc2LqBqEhDK8Q2YDr41cIDm-ITQ3ZoYGhR_e8r0O0oewQ7URFNIlqX4AP9vKQ",
         "scope" : "GOOGLE",
         "types" : [ "university", "point_of_interest", "establishment" ],
         "vicinity" : "大阪市北区天神橋4丁目7−25"
      }
   ],
   "status" : "OK"
}

このように、一度に最大20件返してくれます。

next_page_token

プレイス検索では、最大60件の結果を返すことができます。しかし一度に20件しか返してくれないため、もっと結果が欲しいときは、もう一度リクエストを送って次の20件を取得する必要があります。そのときに用いるのが、next_page_tokenです。次のようにリクエストを送ることで、新たに20件結果を取得できます。検索結果が20件以下の時は、レスポンスにnext_page_tokenは含まれません。

https://maps.googleapis.com/maps/api/place/nearbysearch/json?pagetoken=NEXT_PAGE_TOKEN&key=YOUR_API_KEY

ただし、発行されたnext_page_tokenが有効になるまで少し時間がかかるようで、これが有効になる前にリクエストすると、INVALID_REQUESTというレスポンスが返されます。

types

ここでは、typesにuniversityを指定しました。これは、検索時のジャンルのようなもので、他にはATMconvenience_storetrain_stationなどがあります。以下を参照してください。

プレイスタイプ

プレイスタイプに書いてあったものの引用です。これを引数(TYPE)に加えることでより焦点を絞った検索ができます。「ジャンル」は僕が翻訳というか、TYPEのニュアンスが掴みやすいように整理したものです。検索地域によって含まれるプレイス等に差異があると思いますが、参考程度になればと思います(よく意味の似たものもあり、何が違うのかよくわからないものもありました、新たな発見ができれば修正したいです)

type                   ジャンル                                                                                        
accounting 会計・税理士事務所
airport 空港
amusement_park アミューズメント施設
aquarium 水族館
art_gallery 絵画とかのギャラリー?
atm ATM
bakery パン屋(ミスド・ピザ含む)
bank 銀行
bar 飲み屋(飲食店含む)
beauty_salon ビューティーサロン(?)
bicycle_store 自転車屋さん
book_store 本屋さん
bowling_alley ボウリング場
bus_station バス停
cafe カフェ
campground キャンプ場
car_dealer カーディーラー
car_rental レンタカー
car_repair 車の修理屋さん(板金塗装とか)
car_wash コイン洗車
casino カジノ
cemetery 墓苑・霊園
church 教会
city_hall 市役所・町役場関連
clothing_store 服屋さん
convenience_store コンビニ
courthouse カットハウス
dentist 裁判所
department_store デパート・複合商業施設
doctor 病院(下記のhospitalとの区別が微妙。町の病院ってイメージ)
electrician 電気系統を扱う会社()
electronics_store 家電量販店
embassy 大使館
fire_station 消防署
florist 花屋さん
funeral_home 葬祭場
furniture_store 家具屋さん(ふとん屋さん)
gas_station ガソリンスタンド
gym スポーツ施設
hair_care 美容室
hardware_store 金物店
hindu_temple ヒンドゥー教のお寺?
home_goods_store 日用品のお店
hospital 病院
insurance_agency 保険屋さん
jewelry_store 宝石店
laundry クリーニング店・コインランドリー
lawyer 弁護士(税理士等)事務所
library 図書館
liquor_store 酒店・商店
local_government_office 地方行政施設
locksmith 鍵屋さん
lodging ホテル
meal_delivery ピザ・お弁当とかデリバリーしてくれる店
meal_takeaway テイクアウト(すき家とか)やスナックとか
mosque 神社
movie_rental ビデオレンタル屋さん
movie_theater 映画館
moving_company 引越し屋さん
museum 博物館
night_club ナイトクラブ
painter 塗装屋さん
park 公園
parking パーキング
pet_store ペットショップ
pharmacy 薬局
physiotherapist 整体
plumber 配管工
police 警察署
post_office 郵便局
real_estate_agency 不動産
restaurant レストラン
roofing_contractor 瓦屋さん
rv_park                 快適に安心して車中泊が出来る場所を提供するため日本RV協会が推進してる場所(らしい)。
school 学校
shoe_store 靴屋さん
shopping_mall ショッピングモール
spa 温泉
stadium スタジアム
storage 貸し倉庫
store
subway_station 地下鉄駅
synagogue ユダヤ教
taxi_stand タクシー乗り場
train_station
transit_station 駅・バス停
travel_agency 旅行会社(レンタカー屋さん含む)
university 大学
veterinary_care 動物病院
zoo 動物園

以下、ソースコード(参考)です。引数に、プレイスタイプを打ち込むと、それに従って検索します。引数がないときは半径をaccuracyとして検索し、プレイスを適当に返します。最大60件の結果を返します。next_page_tokenが有効になるまでの時間稼ぎとしてtime.sleepを入れ込んでいます()

# place_search

Places_key = #apiキー

def req_Response(url):
    req = urllib.request.Request(url)
    response = urllib.request.urlopen(req)
    content = json.loads(response.read().decode('utf-8'))
    return content

option = "&radius="+ radius  #引数に指定がないとき500m圏内から適当に色々検索
if len(args) == 2:
    option = "&type="+str(args[1])+"&rankby=distance" #検索するタイプを選択(&距離が近い順にソート)

url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location="+ str(lat) +","+ str(Lng) + option + "&language=ja&key=" + Places_key
while 1:
    content = req_Response(url)
    for i in range(0, len(content['results'])):
        places.append(str(content['results'][i]['name']))

    time.sleep(2) #next_page_tokenが有効になるまで少し時間がかかる

    next_page_token = content.get('next_page_token')
    if next_page_token:
        url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?language=ja&pagetoken="+ next_page_token +"&key=" + Places_key
    else:
        break

何か指摘いただけると嬉しいです٩( ´◡` )( ´◡` )۶

github.com

追記

URLリクエストに、language=jaを含めることで、日本語を優先してレスポンスを返してくれます。