この記事は Google Maps Platform Blog の記事 "Announcing Maps Android Utility Library v1.0" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。



このたび、初の本格的リリースとなる、Google Maps Android Utility Library のバージョン 1.0(オープンソース)が入手可能となりました。Maven から最新バージョンをダウンロードいただけます。

Maps Android Utility Library は 2013 年に、Maps SDK for Android に含まれていなかった追加機能を提供するためのプロジェクトとしてスタートしました。SDK を肥大化させないために、これらの機能は SDK 本体には含めず、追加のライブラリとして提供する方針でした。Maps SDK for Android は現状でも、マーカー表示、グラウンドオーバーレイ、地図上に図形を描画する機能など、数種類のカスタマイズ用オプションを提供しています。Maps Android Utility Library では、今後、長期的にアプリの要件が変わっても、これらの機能をさらに拡張することができます。

例えば、このユーティリティ ライブラリを使えば、地図上におけるマーカーのクラスタ化やカスタマイズ、ヒートマップ作成などが行えます。



ライブラリが提供する全機能のリストは、こちらのドキュメントをご覧ください。

バージョン 1.0 の新しい機能


バージョン 0.6.2 のリリース以降、Google は今回のマイルストンまでに全部で 57 の課題とプルリクエストを解決し、ライブラリの改良に努めてきました。安定性の問題にも取り組み、KML レイヤーのいくつかのバグも修正しました。今回のバージョン 1.0 で新たにできるようになったことは、例えば以下のことです :
  • 地図上に複数のレイヤーを表示し、インタラクティブに使用する
  • クラスター内のアイテムを更新する
  • KMZ のデータタイプを処理する
本バージョンには前バージョンから大幅に変更された部分がありますので、アップデートする前に、変更履歴を必ずご確認ください。

今後について


Android 向け開発のための主要プログラミング言語として Kotlin を利用する開発者が増えています。そこで、現在、このライブラリのために Kotlin と親和性のある拡張機能(KTX 拡張機能) を開発中です。これらの拡張機能が使用可能となると、Maps API 上で、簡潔で自然な Kotlin 言語を使ってコーディングすることができるようになります。特に気に入っている Kotlin の使いやすい機能が、ネームドパラメータと初期値を使用できるという点です。例えば、Java 言語で GeoJsonLayer のインスタンスを作成すると以下のようになります :

  GeoJsonLayer layer = new GeoJsonLayer(
    map,
    geoJsonFile,
    null,
    polygonManager,
    null,
    groundOverlayManager
);


上の短いコード群を読むだけでは、2 つの null が何を表しているのかを推測するのが困難です。Kotlin の拡張機能を使えば、同じコードを以下のように書けます :

  val layer = GeoJsonLayer(
    map = map,
    geoJsonFile = geoJsonFile,
    polygonManager = polygonManager,
    groundOverlayManager = groundOverlayManager
)


これは、Kotlin のほんの手始めに過ぎません。本リリース以降は、オープンに開発をしていく予定です。進捗状況はこちらでご確認ください。さらに、プルリクエストをお送りいただければ幸いです。

フィードバックをお待ちしています


バージョン 1.0 は、このライブラリを実際に使用して、問題点や改善して欲しい点を指摘していただいた開発者の皆さんの意見を参考に開発されました。彼らのおかげで今回のリリースが可能になりました。 ライブラリを使用して、問題点を見つけた場合、あるいは、機能追加に関するご提案については、問題を報告するにご記入の上、送信されるか、プルリクエストをお送りください。

Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカル アカウントマネージャ