Library Utilitas Maps SDK for Android

Mencari fitur canggih untuk ditambahkan ke peta Anda? Library Utilitas Maps SDK for Android adalah library open source class yang berguna untuk berbagai macam aplikasi. Repositori GitHub menyertakan berbagai class utilitas dan aplikasi demo yang mengilustrasikan penggunaan setiap class.

Dalam video ini, Chris Broadfoot membahas library utilitas, dengan fokus mendekode polyline, geometri sferikal, dan ikon balon.

Penyiapan cepat

Untuk menginstal Library Utilitas Maps SDK for Android, ikuti panduan penyiapan.

Utilitas

Sebuah peta dengan lapisan GeoJSON

Mengimpor GeoJSON ke peta Anda

Anda dapat menyimpan fitur dalam format GeoJSON dan menggunakan utilitas ini untuk merendernya sebagai lapisan di atas peta. Panggil addLayer() untuk menambahkan data GeoJSON Anda ke peta. Anda juga dapat menambahkan setiap fitur dengan memanggil addFeature(), serta meneruskan objek GeoJsonFeature.

Untuk detailnya, lihat dokumentasi pada Utilitas GeoJSON Android Google Maps.

Sebuah peta dengan lapisan KML

Mengimpor KML ke peta Anda

Dengan menggunakan utilitas ini, Anda dapat mengonversi objek KML menjadi bentuk geografis dan merendernya sebagai lapisan di atas peta. Panggil addLayerToMap() untuk menambahkan lapisan Anda ke peta. Anda dapat mengakses properti dalam objek KML dengan memanggil getProperties() di Penanda Letak, GroundOverlay, Dokumen, atau Folder.

Untuk detailnya, lihat dokumentasi pada Utilitas KML Android Google Maps.

Sebuah peta dengan peta panas

Menambahkan peta panas ke peta Anda

Peta panas memudahkan penampil memahami distribusi dan intensitas relatif titik data pada peta. Daripada menempatkan penanda di setiap lokasi, peta panas menggunakan warna dan bentuk untuk menampilkan distribusi data. Buat HeatmapTileProvider, dengan meneruskan kumpulan objek LatLng yang mewakili lokasi menarik di peta. Kemudian, buat TileOverlay baru dengan meneruskan penyedia ubin peta panas ke sini, lalu tambahkan overlay ubin ke peta.

Untuk detailnya, lihat dokumentasi pada Utilitas Peta Panas Android Google Maps.

Sebuah peta dengan ikon balon

Menyesuaikan penanda melalui ikon balon

Tambahkan IconGenerator untuk menampilkan cuplikan informasi pada penanda Anda. Utilitas ini menyediakan cara membuat ikon penanda yang mirip jendela info, yang di dalamnya penanda itu sendiri dapat berisi teks dan konten lainnya. Keuntungannya adalah Anda dapat menyimpan lebih dari satu penanda yang terbuka pada saat bersamaan, sedangkan hanya satu jendela info yang dapat dibuka pada saat yang sama. Anda juga dapat menata gaya penanda, mengubah orientasi penanda dan/atau konten, serta mengubah gambar latar belakang/nine-patch penanda.

Peta dengan penanda yang dikelompokkan

Mengelola cluster penanda

ClusterManager membantu Anda mengelola beberapa penanda pada tingkat zoom yang berbeda. Artinya Anda dapat menempatkan banyak penanda pada peta tanpa membuatnya sulit dibaca. Jika pengguna menampilkan peta pada tingkat zoom yang tinggi, setiap penanda akan ditampilkan di peta. Jika pengguna memperkecil tampilan ke tingkat zoom yang lebih rendah, semua penanda akan menyatu menjadi cluster agar peta lebih mudah ditampilkan.

Untuk detailnya, lihat dokumentasi pada Utilitas Pengelompokan Penanda Android Google Maps.

Peta dengan beberapa lapisan

Menambahkan beberapa lapisan ke peta yang sama

Anda dapat menampilkan fitur dari GeoJSON, KML, dan cluster - serta penanda, polyline, dan poligon Anda sendiri - semuanya di peta yang sama. Lapisan ini juga dapat dibuat interaktif dengan menambahkan pemroses klik ke setiap lapisan. Cukup buat instance class MarkerManager, GroundOverlayManager, PolygonManager, dan PolylineManager, lalu teruskan ke dalam konstruktor GeoJsonLayer, KmlLayer, ClusterManager saat Anda menyiapkannya. Anda kemudian dapat menggunakan class Manager di atas secara langsung untuk menambahkan penanda, polyline, dan poligon Anda sendiri ke peta.

Untuk detailnya, lihat dokumentasi pada Demo Multi-Lapisan Android Google Maps.

Sebuah peta dengan polyline yang dienkode

Mengenkode dan mendekode polyline

PolyUtil berguna untuk mengonversi polyline dan poligon yang dienkode menjadi koordinat garis lintang/bujur dan sebaliknya.

Dalam Google Maps, koordinat garis lintang dan bujur yang mendefinisikan polyline atau poligon disimpan sebagai string yang dienkode. Lihat penjelasan mendetail tentang encoding polyline. Anda dapat menerima string yang dienkode ini sebagai respons dari Google API, seperti Directions API.

Anda dapat menggunakan PolyUtil di Library Utilitas Maps SDK for Android untuk mengenkode urutan koordinat garis lintang/bujur ('LatLngs') menjadi string jalur yang dienkode, dan untuk mendekode string jalur yang dienkode ke dalam urutan LatLngs. Ini akan menjamin interoperabilitas dengan layanan web Google Maps API.

Jarak yang dihitung antara dua titik pada peta

Menghitung jarak, luas, dan arah tujuan melalui geometri sferikal

Dengan menggunakan utilitas geometri sferikal di SphericalUtil, Anda dapat menghitung jarak, luas, dan arah tujuan berdasarkan lintang dan bujur. Inilah beberapa metode yang tersedia dalam utilitas tersebut:

  • computeDistanceBetween() – Menampilkan jarak, dalam meter, antara dua koordinat garis lintang/bujur.
  • computeHeading() - Menampilkan bearing, dalam derajat, antara dua koordinat garis lintang/bujur.
  • computeArea() – Menampilkan luas, dalam meter persegi, dari sebuah jalur tertutup di permukaan Bumi.
  • interpolate() - Menampilkan koordinat garis lintang/bujur dari sebuah titik yang menunjukkan pecahan jarak yang diberikan di antara dua titik yang diberikan. Misalnya, Anda dapat menggunakannya untuk menganimasikan penanda di antara dua titik.

Lihat dokumentasi referensi untuk daftar lengkap metode dalam utilitas.