WebAPI

Google Map API Places API グーグルマップの施設を検索するWeb API

Google Maps Platform、Google Map のAPI

3種類のマップ、ルート、プレイスのAPIの中から、グーグルマップに表示されている施設の情報を取得できるWebAPIについです

Google MapからGoogle Place APIで施設情報取得

Google Place API プレイスでグーグルマップの施設検索

Googleマップに掲載されている様々な施設の情報を取ってくるために、Google Place APIを調べてみました

Google Maps PlatformのAPIの説明は、楽天やぐるなびに比べるとすこしAPI仕様書がわかりにくかったです

Google Maps Platformのドキュメントの説明と合わせて、XMLを実際に吐き出させてみて、どんな構造しているのかをみながら調べてみました

プレイス検索には、場所の検索(Find Place requests)、周辺検索(Nearby Search requests)、テキスト検索(Text Search requests)などいくつか種類がありますが、フリーワードで検索できるテキスト検索を使ってみます

Google Place API Place Searchで施設のテキスト検索

Google Place API Place Search テキスト検索リクエスト

テキスト検索リクエスト Text Search requests です

URLはこちらです

https://maps.googleapis.com/maps/api/place/textsearch/xml?key=YOUR_API_KEY&<parameters>

パラメータで query= にフリーキーワードを入れれば、適合度の高いプレイス情報を検索して、XMLで返してくれます

検索場所はlocationとradiusのパラメータで位置と半径を指定することができます

施設のジャンルはtypeで指定することが可能で、指定できるtypeの種類が規定されているのですが、けっこう多くの種類があり分類や階層化もされていないようで選ぶのは面倒だと思います

自由にキーワードを入力してもらうほうが望んだ検索結果になりそうです

検索エンジンのグーグルですから、ぴったり一致していないものでも、けっこう検索してきてくれます

検索結果件数がデータに含まれないので、たくさんの検索結果があるような際に複数ページで分割表示するような方法が面倒ではあるのですが

xml?の部分をjson?にするとJSONで取得できます

Google Place API Place Search テキスト検索リクエスト サンプルサイト

こちらはテキスト検索を使って、グーグルマップの施設検索を行うサンプルサイトです

フリーキーワードを入力して検索するだけです

位置のTypeも指定しない単純な検索ですのでお試しにどうぞ

グーグルマップAPIを使った施設検索(自作サンプルサイト)

Google Place API Place Details 施設詳細リクエスト

Google Place API Place Details 施設詳細リクエスト

プレイス検索で検索すると施設のプレイスID(place_id)が取得できます

このプレイスIDをパラメータにすることで、プレイス詳細がとれます

プレイス詳細リクエストのURLはこちです

https://maps.googleapis.com/maps/api/place/detailes/xml?key=YOUR_API_KEY&<parameters>

データの内容としては、楽天トラベルやぐるなびの施設情報に比べると少ないようです

名称、緯度経度、住所、電話番号、WebURL、オープンクローズ、オープン時間、写真、口コミ

といったところ

施設の内容や特徴はないようです

もうちょっと情報が欲しかったのですかれども、口コミ関係については、グーグルマップのローカルガイドの方たちが記入した口コミとかアップロードした写真が取得できます

上記のサンプルサイトはプレイス詳細は使用していません

テキスト検索結果のリストをグーグルマップ付きで表示していますので、プレイス詳細で取れるようなデータは地図をクリックしてみてくださいという形にしてあります

Google MapAPIの場合、APIの呼び出し回数や取得する情報の種類によって費用がかかりますから節約が必要です

Google Place API Place Details 取得データ

プレイス検索で取得するデータはリクエストのfieldsで指定することができます

fieldsに何も指定しないと取得可能なデータが全部取れますが、取得するデータの種類によってAPI利用料金が変わりますから、必要なデータに限るほうがよいと思います

Basicは基本料金に含む、ContactとAtmosphereはそれぞれ追加料金が必要ということになります

以下のようなデータが取得できます

基本的なデータ(Basic):名称(name)、住所(formatted_address)、位置情報(geometry)、プレイスID(place_id)、写真(photo)、URL(url)など

コンタクト(Contact):電話(formatted_phone_number)、営業時間(opening_hours)、ウェブサイト(website)など

Atmosphere:評価(rating)、レビュー(review)など

緯度経度(lat、lon)は位置情報(geometry)の中のlocationにあります

グーグルマップに登録されている口コミはレビュー(review)から取得できます

Google Place API Place Photos 写真の取得

Google Place API Place Photos 写真の取得

Place Photosを利用すると写真を表示することができます

https://maps.googleapis.com/maps/api/place/photo?key=YOUR_API_KEY&<parameters>

パラメータphotoreferenceに、Place SearchやPlace Detailで取得したphotosあるいはphotoの中のphoto_referenceを設定すると写真が取得できます

maxwidth、maxheightで希望のサイズを指定することができます

<img src=””>のsrcのurlに設定することで写真を表示することができます

Place PhotosもPlace Detailとは別料金で費用がかかりますからご注意ください

Google Place API 合わせて利用 WebAPIについて

WebAPIを使って、施設検索を行い、施設の名称や緯度経度などの施設情報を取得し、Google Map API と連携させています

Google Place APIは有料ですが、無料で施設などの情報を検索できるWebAPIもあります

PHPでWebAPIを利用する際の説明はこちらの記事でぐるなびAPIを例にして書いていますので参考にしてください

施設の名称や緯度経度を取得して、Maps Embed API のパラメータに設定して利用することでグーグルマップの埋め込み表示ができます

楽天ウェブサービスやYahoo!デベロッパーネットワークなど、施設を検索し施設の詳しい情報を取得することができるWebAPIを無料で利用することができます

こちらはYahoo!デベロッパーネットワークについてです

WordPressやPHPプログラミング、WebAPIの使い方、簡単なところから実際に使ってみて、作成してみて、イメージをつかみながらやってみましょう

Google Mapのビジネスへの活用法としてGoogleマイビジネスも注目ですのでこちらに書きました

Googleマイビジネスは無料で利用でき、GoogleマップとGoogle検索から、集客・来客が期待できるサービスです