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(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。

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

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

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

2016.08.26

国土地理院の地図でストリートビューを見る

みなさん、こんにちは!

前回、Googleマップで無償地図の「OpenStreetMap」を表示する方法を説明しましたが、今回は同じような形で・・・

続きを読む

2019.04.07

Static Maps に自前でマーカーとラベルを描く

みなさん、こんにちは。

静的な地図画像を取得するには、Maps Static API を利用しますよね。

その際、地図上に好きなマ・・・

続きを読む

2017.07.19

「関東一の祇園・熊谷うちわ祭り」の山車・屋台位置情報サイト公開!

みんさん、こんにちは!

暑い夏をいかがお過ごしですか?今回は、前回記事の山笠に引き続き、夏祭りネタにです^^

 ・・・

続きを読む

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