Anda sudah siap!

Untuk mulai mengembangkan, masuklah ke dokumentasi developer kami.

Aktifkan Google Maps Android API

Untuk membantu Anda memulai, kami akan memandu Anda melalui Google Developers Console untuk melakukan beberapa hal terlebih dahulu:

  1. Buat atau pilih sebuah proyek
  2. Aktifkan Google Maps Android API
  3. Buat kunci yang sesuai
Lanjutkan

Google Maps Android GeoJSON Utility

  1. Pengantar
  2. Menambahkan GeoJsonLayer ke peta Anda
  3. Membuang GeoJsonLayer
  4. Menambah dan membuang GeoJsonFeature
  5. Mengakses GeoJsonFeatures dan propertinya
  6. Menata gaya GeoJsonLayer dan GeoJsonFeatures
  7. Melihat aplikasi demo

Pengantar

GeoJSON merupakan ekstensi format data JSON dan menyatakan data geografis. Dengan menggunakan utilitas ini, Anda bisa menyimpan fitur geografis dalam format GeoJSON dan merendernya sebagai layer di atas peta. Untuk menambahkan dan membuang data GeoJSON Anda ke dan dari peta, panggil addLayer() dan clearLayer(). Anda juga bisa menambah dan membuang fitur dengan memanggil addFeature() dan removeFeature() serta dengan meneruskan objek GeoJsonFeature. Jika ingin mengakses fitur ini, Anda bisa memanggil getFeatures() untuk mendapatkan interable semua objek GeoJsonFeature yang telah ditambahkan ke layer.

Anda juga bisa mengatur gaya default yang akan diterapkan pada fitur sebelum ditambahkan ke layer, dengan memanggil getDefaultPointStyle(), getDefaultLineStringStyle() atau getDefaultPolygonStyle() dan mengatur opsi gayanya masing-masing. Atau, Anda bisa mengatur gaya setiap GeoJsonFeature dengan memanggil setPointStyle(), setLineStringStyle() atau setPolygonStyle() pada fitur tersebut dan dengan meneruskan objek gaya terkait.

Menambahkan GeoJsonLayer ke peta Anda

Untuk menambahkan layer GeoJson ke peta, pertama-tama buat instance kelas GeoJsonLayer. Ada dua cara untuk membuat instance GeoJsonLayer.

Untuk mengimpor dari JSONObject, Anda memerlukan yang berikut ini:

  • Objek GoogleMap tempat layer dirender
  • JSONObject berisi data GeoJSON yang akan ditambahkan ke layer
GeoJsonLayer layer = new GeoJsonLayer(getMap(), geoJsonData);

Untuk mengimpor dari file GeoJSON lokal, Anda memerlukan yang berikut ini:

  • Objek GoogleMap tempat layer dirender
  • File sumber daya lokal yang berisi data GeoJSON
  • Objek Context, yang diperlukan untuk membuka file sumber daya lokal
GeoJsonLayer layer = new GeoJsonLayer(getMap(), R.raw.geoJsonFile,
getApplicationContext());

Setelah Anda membuat GeoJsonLayer, panggil addLayer() untuk menambahkan data yang telah diimpor ke peta.

layer.addLayer();

Membuang GeoJsonLayer

Anggaplah Anda telah menambahkan layer ini

GeoJsonLayer layer = new GeoJsonLayer(getMap(), geoJsonData);

Untuk mengosongkan GeoJsonLayer, panggil clearLayer()

layer.clearLayer();

Menambah dan membuang GeoJsonFeature

Fitur dalam GeoJSON memiliki tipe "feature". Isinya adalah geometri, anggota properti dan secara opsional berisi kotak pembatas atau ID.

Anda bisa membuat objek GeoJsonFeature masing-masing, dan menambahkannya ke GeoJsonLayer.

Anggaplah Anda telah membuat fitur yang berisi satu titik pada 0, 0 dengan satu entri dalam propertinya dan tanpa kotak pembatas.

GeoJsonPoint point = new Point(new LatLng(0, 0));
HashMap<String, String> properties = new HashMap<String, String>();
properties.put(“Ocean”, “South Atlantic”);
GeoJsonFeature pointFeature = new GeoJsonFeature(point, “Origin”, properties, null);

Untuk menambahkan fitur ke layer, panggil addFeature() dan teruskan fitur yang akan ditambahkan.

layer.addFeature(pointFeature);

Untuk membuang fitur setelah menambahkannya ke layer, panggil removeFeature() dan teruskan fitur yang akan dihilangkan.

layer.removeFeature(pointFeature);

Mengakses GeoJsonFeatures dan propertinya

Untuk mengakses semua GeoJsonFeatures yang telah ditambahkan ke layer, Anda bisa memanggil getFeatures() pada GeoJsonLayer yang telah Anda buat. Ini akan mengembalikan iterable GeoJsonFeatures yang bisa Anda akses untuk setiap loop seperti yang ditampilkan di bawah ini.

for (GeoJsonFeature feature : layer.getFeatures()) {
  // do something to the feature
}

Gunakan metode hasProperty() dan getProperty() bersama-sama dengan metode getFeatures() untuk memeriksa apakah setiap fitur yang disimpan memiliki properti tertentu dan mengaksesnya jika ada.

GeoJsonPoint point = new Point(new LatLng(0, 0));
HashMap<String, String> properties = new HashMap<String, String>();
properties.put(“Ocean”, “South Atlantic”);
GeoJsonFeature pointFeature = new GeoJsonFeature(point, “Origin”, properties, null);
for (GeoJsonFeature feature : layer.getFeatures()) {
  if (feature.hasProperty(“Ocean”)) {
    String oceanProperty = feature.getProperty(“Ocean”);
  }
}

Menata gaya GeoJsonLayer dan GeoJsonFeatures

Anda bisa mengatur gaya default untuk GeoJsonLayer, atau gaya masing-masing fitur dalam layer.

Gaya Default

Dalam GeoJsonLayer, Anda bisa mengatur gaya default untuk titik, linestring dan poligon apa saja yang telah ditambahkan ke layer. Gaya default hanya diterapkan jika fitur itu belum memiliki gaya yang diatur untuk geometrinya Perubahan apa saja yang Anda buat pada gaya default juga akan tercermin dalam semua fitur yang menggunakan gaya default tersebut.

Langkah-langkah untuk menerapkan gaya default adalah sebagai berikut

  1. Ambil objek gaya default yang relevan, ini bisa berupa GeoJsonPointStyle, GeoJsonLineStringStyle atau GeoJsonPolygonStyle.
  2. Terapkan opsi yang Anda inginkan pada gaya tersebut.

Misalnya, contoh kode berikut menampilkan cara memodifikasi gaya titik default yang akan membuat titik bisa diseret bersama judul dan cuplikan.

GeoJsonPointStyle pointStyle = layer.getDefaultPointStyle();
pointStyle.setDraggable(true);
pointStyle.setTitle(“Hello, World!”);
pointStyle.setSnippet(“I am a draggable marker”);

Gaya spesifik pada GeoJsonFeature

Atau Anda bisa menata gaya masing-masing fitur dalam layer. Langkah-langkah untuk menerapkan gaya pada GeoJsonFeature adalah sebagai berikut

  1. Buat objek gaya yang relevan, ini bisa berupa GeoJsonPointStyle, GeoJsonLineStringStyle atau GeoJsonPolygonStyle.
  2. Terapkan opsi yang Anda inginkan pada gaya tersebut
  3. Teruskan objek gaya ke metode yang relevan pada GeoJsonFeature yang bisa berupa setPointStyle(), setLineStringStyle() atau setPolygonStyle()

Misalnya, inilah cara menyesuaikan gaya linestring untuk GeoJsonFeature sehingga warnanya menjadi merah.

// Create a new feature containing a linestring
ArrayList<LatLng> lineStringArray = new ArrayList<LatLng>();
lineStringArray.add(new LatLng(0, 0));
lineStringArray.add(new LatLng(50, 50));
GeoJsonLineString lineString = new GeoJsonLineString(lineStringArray);
GeoJsonFeature lineStringFeature = new GeoJsonFeature(lineString, null, null, null);

// Set the color of the linestring to red
GeoJsonLineStringStyle lineStringStyle = new GeoJsonLineStringStyle();
lineStringStyle.setColor(Color.RED);

// Set the style of the feature
lineStringFeature.setLineStringStyle(lineStringStyle);

Melihat aplikasi demo

Untuk contoh mengimpor file GeoJSON dari URL dan membuat layer dengannya, lihat GeoJsonDemoActivity dalam aplikasi demo yang disertakan bersama pustaka utilitas. Panduan persiapan ini menampilkan cara menjalankan aplikasi demo.

Kirim masukan tentang...

Google Maps Android API
Google Maps Android API
Butuh bantuan? Kunjungi halaman dukungan kami.