Github: https://github.com/googlemaps/google-maps-services-python
Google MapsサービスのPythonクライアント
説明
Pythonを使用しますか? 何かをジオコード化したいですか? 道順をお探しですか? たぶん方向の行列ですか? このライブラリは、 Google Maps API WebサービスをPythonアプリケーションに提供します。
Google Maps Services用のPythonクライアントは、次のGoogle Maps API用のPythonクライアントライブラリです。
このライブラリを使用してアクセスする場合、APIの使用にも同じ条件が適用されます。
サポート
このライブラリはコミュニティでサポートされています。 私たちはライブラリの安定性と機能を十分に理解していますので、実際の本番アプリケーションを構築することができます。 私たちは、スタックオーバーフローを介して、図書館の公開された保護された面をサポートし、将来的に下位互換性を維持しようとします。 しかし、ライブラリはバージョン0.xになっていますが、我々は後方互換性のない変更を行う権利を留保しています。 いくつかの機能を削除した場合(通常、機能がより優れているか、機能が実行不可能であることが判明したため)、開発者にコードを更新する年を与えることを諦めています。
バグを見つけた場合や機能の提案がある場合は、問題を記録してください。 貢献したい場合は、「寄付する方法」をお読みください。
要件
- Python 2.7以降。
- Google Maps APIキー。
APIキー
各GoogleマップWebサービスリクエストには、APIキーまたはクライアントIDが必要です。 APIキーはhttps://developers.google.com/consoleで Googleアカウントで自由に利用できます 。 必要なAPIキーのタイプはServerキーです。
APIキーを取得するには:
- https://developers.google.com/consoleにアクセスし、Googleアカウントでログインします 。
- 既存のプロジェクトの1つを選択するか、新しいプロジェクトを作成します。
- 使用するAPIを有効にします。 Google Maps ServicesのPythonクライアントは、次のAPIにアクセスします。
- Directions API
- 距離行列API
- Elevation API
- ジオコーディングAPI
- ジオロケーションAPI
- Places API
- 道路API
- タイムゾーンAPI
- 新しいサーバーキーを作成します 。
- リクエストを特定のIPアドレスに限定したい場合は、今すぐリクエストしてください。
ガイド付きヘルプについては、 Directions APIの手順に従ってください。 APIキーは1つだけ必要ですが、必要なすべてのAPIを有効にしてください。 さらに詳しい情報については、 APIキーのガイドを参照してください。
重要:このキーは、サーバー上で秘密にしておく必要があります。
インストール
$ pip install -U googlemaps
接続/読み取りタイムアウトを指定する場合は、2.4.0以上のリクエストが必要です。
開発者向けドキュメント
リファレンスドキュメントを表示する
含まれているウェブサービスに関する追加のドキュメントはhttps://developers.google.com/maps/から入手できます 。
使用法
この例では、 ジオコーディングAPIとDirections APIをAPIキーで使用しています。
import googlemaps
from datetime import datetime
gmaps = googlemaps.Client(key='Add Your Key here')
# Geocoding an address
geocode_result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
# Look up an address with reverse geocoding
reverse_geocode_result = gmaps.reverse_geocode((40.714224, -73.961452))
# Request directions via public transit
now = datetime.now()
directions_result = gmaps.directions("Sydney Town Hall",
"Parramatta, NSW",
mode="transit",
departure_time=now)
以下は同じ例です。クライアントIDとクライアントシークレット(デジタル署名)を使用して認証します。 このコードでは、以前にclient_id
およびclient_secret
変数に適切な値をロードしていることを前提としています。
client_secret
(デジタル署名)を生成する方法については、使用しているAPIのドキュメントを参照してください。 たとえば、 Directions APIのガイドをご覧ください。
gmaps = googlemaps.Client(client_id=client_id, client_secret=client_secret)
# Geocoding and address
geocode_result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
# Look up an address with reverse geocoding
reverse_geocode_result = gmaps.reverse_geocode((40.714224, -73.961452))
# Request directions via public transit
now = datetime.now()
directions_result = gmaps.directions("Sydney Town Hall",
"Parramatta, NSW",
mode="transit",
departure_time=now)
特徴
失敗時に再試行
断続的な障害が発生すると、自動的に再試行します。 つまり、再試行可能な5xxエラーのいずれかがAPIから返されたときです。
クライアントID
GoogleマップAPIプレミアムプランのお客様は、APIキーではなく、 クライアントIDとシークレットを使用して認証することができます。
プロジェクトの構築
# Installing tox
$ pip install tox
# Running tests
$ tox
# Generating documentation
$ tox -e docs
# Uploading a new release
$ easy_install wheel twine
$ python setup.py sdist bdist_wheel
$ twine upload dist/*
# Copy docs to gh-pages
$ tox -e docs && mv docs/_build/html generated_docs && git clean -Xdi && git checkout gh-pages
[…] Direction APIを使用したPythonコードは以下を参照させて頂きました https://www.youtube.com/watch?v=UrrWxyq1Z48 https://githubja.com/googlemaps/google-maps-services-python […]