MULTISOUP

MULTISOUP

MULTISOUP

Staff Blog

Introduction example

2017.11.25

Google Maps API 用 JAVAライブラリ

JAVAライブラリ

みなさん、こんにちは。

Google Maps Geocodeing API や Directions API  などを JAVAで利用する時に便利なライブラリがあるのはご存知ですか?

実は、Google社から GitHubで公開されています!

https://github.com/googlemaps/google-maps-services-java

 

今回は、こちらのライブラリの使い方を解説していきたいと思います。

対象となるAPIは以下の7個になります。

API 説明
Directions API 2点間のルート(ノード座標、ルート距離、所要時間)を取得します。
Distance Matrix API N 対 N のルート距離、所要時間を一括で取得します。
Elevation API ある地点の標高を取得します。
Geocoding API 住所から緯度経度、緯度経度から住所を取得します。
Places API Google が所有する施設などの情報を取得します。
Roads API GPSなどで取得した位置情報を道路上にマッピングした緯度経度を取得します。
Time Zone API ある地点のタイムゾーン(時差)を取得します。

 

上記ライブラリを JAVA で利用するために、Maven または Gradle でライブラリを読み込む設定を行います。最新のバージョンは「0.2.5」のようです。

MAVENの場合

<dependency>
    <groupId>com.google.maps</groupId>
    <artifactId>google-maps-services</artifactId>
    <version>0.2.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-nop</artifactId>
    <version>1.7.25</version>
</dependency>

 

Gradle の場合

repositories {
    mavenCentral()
}
dependencies {
    compile 'com.google.maps:google-maps-services:0.2.5'
    compile 'org.slf4j:slf4j-nop:1.7.25'
}

 

 

では、実際のプログラム方法を解説します。

まず最初に認証を行い、 GeoApiContext を生成します。この処理は、各APIで共通となります。

 

GeoApiContext の生成

//APIキーを使用する場合(スタンダードプラン用)
GeoApiContext context = new GeoApiContext.Builder()
    .apiKey({API_KEY}).build();
//クライアントIDとクリプトキーを使用する場合(プレミアムプラン用)
GeoApiContext context = new GeoApiContext.Builder()
    .enterpriseCredentials({クライアントID},  {クリプトキー}).build();

 

Geocoding API

GeocodingResult[] results = GeocodingApi.geocode(context, "東京都千代田区神田錦町3-11").await();

 

Directions API

LatLng origin= new LatLng(35.6, 139.6);
LatLng destination = new LatLng(35.7, 139.7);

DirectionsResult result = DirectionsApi.newRequest(context)
    .origin(origin)
    .destination(destination)
    .mode(TravelMode.DRIVING)
    .await();

 

Distance Matrix API

LatLng[] origins = new LatLng[2];
origins[0] = new LatLng(35.7, 139.7);
origins[1] = new LatLng(35.6, 136.6);

LatLng[] destinations = new com.google.maps.model.LatLng[2];
destinations [0] = new LatLng(35.8, 139.8);
destinations [1] = new LatLng(35.9, 136.9);

DistanceMatrix result = DistanceMatrixApi.newRequest(context)
    .origins(origins)
    .destinations(destinations)
    .mode(TravelMode.DRIVING)
    .await();

 

 

 

いかがでしょうか?

このように簡単なプログラムで 各 API を実行することができますので、私もよく利用しています!

ライブラリのクラスリファレンス 

 

ライブラリはその他にも、Python、Node.js、Go 言語用もあります。以下のサイトでご確認ください。

https://github.com/googlemaps

 

ではまた~。

 

【関連記事】こんな記事も読まれています

2017.05.26

日光いろは坂で「Roads API」を使ってみたら・・・

みなさん、こんにちは。

先日開催した「Google Maps 活用セミナー」には、多数のご来場ありがとうございました。

 ・・・

続きを読む

2017.04.08

Googleマップで見る「ブラタモリマップ」を作成してみました

みなさん、こんにちは。

国民的人気番組「ブラタモリ」でタモリさんが訪れた街を Google マップ上で表示する「ブラタモリマップ」を作成し・・・

続きを読む

2017.07.02

Googleマップに色々なマーカーを描画する方法

みなさん、こんにちは!

今回は、 Google マップ上に色々なマーカーを描画する方法を説明したいと思います。

 

続きを読む

 - Google Maps APIs, Google Maps Directions API, Google Maps DistanceMatrix API, Google Maps Elevation API, Google Maps Geocoding API, Google Maps Roads API, Google Maps TimeZone API, Google Places API, スタッフ日記

お問い合わせお見積もりから開発のご相談まで、お気軽にお問い合わせください。

(※)は入力必須項目です。

当社では、お客様がお問い合わせの際に必要な個人情報または、 お問い合わせ内容等につきましては、
お問い合わせの回答の目的のみに利用します。

Google Maps for Work™に関するご質問やお見積りは、
マルティスープまでお気軽にお問い合わせください03-3518-9013 (受付時間:平日 9:00−18:00)