WebAPI

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

この記事では商品の紹介にアフィリエイト広告を利用しています 「広告について」

Google Maps Platform

Google Map のAPI

3種類のマップ、ルート、プレイス

3つのAPIがあります

その中からGoogle Place APIについて書いています

グーグルマップに表示されている施設の情報を取得できるWebAPIです

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

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について

Google Place API 連携しよう WebAPI

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

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

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

オリジナルWEBサイト制作 PHP・Laravelを学ぼう

【PHP/Laravelコース】PHP/Laravelを学んでオリジナルWEBサイト制作

無料の説明動画配信無料プログラミング体験無料オンライン相談を実施しています

キャリアアップ・転職・副業・複業・兼業へのチャレンジを考えるなら無料キャリアカウンセリング副業コースもあります

【PHP/Laravelコース】
PHP/Laravelを学んでオリジナルサービス開発

無料体験 無料動画 無料相談
無料キャリア相談 副業チャレンジ