Как сделать хлороплет с помощью Mapbox для Andriod, где данные поступают в формате GEOJSON

После получения файла GEOJSON со всеми границами каждой страны. От: https://datahub.io/core/geo-countries#data

Как создать хлороплет с помощью Mapbox для приложения Andriod, создаваемого с использованием Kotlin.

private fun drawBoundaries(){
        mapboxMap.getStyle {

            try {

                val source = GeoJsonSource("geojson-source", URI("assets://countries.geojson"))

                it.addSource(source)

            } catch (exception: URISyntaxException) {

                Log.d(TAG, exception.toString())
            }
        }

    }

И я предполагаю, что заполнение в ссылке выглядит следующим образом: https://docs.mapbox.com/android/maps/overview/data-driven-styling/#fill

mapboxMap.getStyle {

val fillLayer = FillLayer("layer-id", "source-id")
fillLayer.setProperties(PropertyFactory.fillColor(Color.GREEN))

it.addLayer(fillLayer)
}

person Shubham Sharan    schedule 24.03.2020    source источник


Ответы (1)


Да, FillLayer будет использоваться, и вам нужно будет изменить его стиль на основе ваших данных.

См. https://docs.mapbox.com/android/maps/examples/join-local-json-data-with-vector-tile-geometries и https://docs.mapbox.com/android/maps/.examples/update-by-zoom-level

Изменить: Хм, похоже, видео отсутствует для https://docs.mapbox.com/android/maps/examples/join-local-json-data-with-vector-tile-geometries.

https://imgur.com/a/THn7EoO показывает, как выглядит этот пример.

person langsmith    schedule 24.03.2020