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

 

ではまた~。

 

地図や位置情報を用いたシステムのご提案・開発ならマルティスープへ

マルティスープは、創業以来のGISとモバイル開発の実績と技術力で、営業支援システムやリサーチ・公共インフラ・工事・警備業界の現場を支援するシステム開発など、地図や位置情報を使った業務システムの導入のご提案や開発をいたします。

現場をつなぐコミュニケーションが屋内外業務のパフォーマンスを最大限に。マルティスープのiField(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。

位置・空間情報のエキスパート集団として一緒に働きませんか?

マルティスープは地図情報をはじめとする位置・空間情報技術のエキスパート集団です。当社で日々研究している地図や位置情報といった技術は、災害支援など貢献度の高いシステムとして使用されることもあれば、スマートフォンアプリのゲームとして使われることもあり、その利用用途・価値は、今後もますます広がっていっています。
私たちの企業理念は、「創る喜び、使う喜び」です。
今後の開発体制をより強化するために、新卒・中途問わず、当社の未来を共に創っていただける新メンバーを募集します!

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

2017.09.10

Googleマップに天気画像を重ねて表示してみる

みなさん、こんにちは。

今回は Googleマップ上に、「OpenWeatherMap」という天気情報サービスで公開している降水量、温度などの・・・

続きを読む

2016.09.20

Google Maps と 360°パノラマ画像の連携

みなさん、こんにちは。

 

Googleマップにあるストリートビューの機能ですが、カスタマイズすれば自分が撮影したパノラ・・・

続きを読む

2017.01.06

マラソン大会の難易度を高度から判断してみる

みなさん、あけましておめでとうございます!

2017年も本ブログでは、グーグルマップをはじめ地図や位置情報に関するおもしろい情報を発信して・・・

続きを読む

 - 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, スタッフ日記