summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/LineActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/LineActivity.kt')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/LineActivity.kt146
1 files changed, 146 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/LineActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/LineActivity.kt
new file mode 100644
index 0000000000..700c0bb188
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/LineActivity.kt
@@ -0,0 +1,146 @@
+package com.mapbox.mapboxsdk.testapp.activity.style
+
+import android.graphics.Camera
+import android.os.Bundle
+import android.support.v7.app.AppCompatActivity
+import com.mapbox.mapboxsdk.camera.CameraPosition
+import com.mapbox.mapboxsdk.maps.MapView
+import com.mapbox.mapboxsdk.maps.MapboxMap
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback
+import com.mapbox.mapboxsdk.maps.Style
+import com.mapbox.mapboxsdk.style.expressions.Expression.get
+import com.mapbox.mapboxsdk.style.layers.LineLayer
+import com.mapbox.mapboxsdk.style.layers.PropertyFactory.*
+import com.mapbox.mapboxsdk.style.sources.GeoJsonOptions
+import com.mapbox.mapboxsdk.style.sources.GeoJsonSource
+import com.mapbox.mapboxsdk.testapp.R
+import timber.log.Timber
+import java.io.IOException
+
+/**
+ * Activity showcasing applying a gradient coloring to a line layer.
+ */
+class LineActivity : AppCompatActivity(), OnMapReadyCallback {
+ private var mapView: MapView? = null
+
+ public override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_gradient_line)
+
+ mapView = findViewById(R.id.mapView)
+ mapView!!.onCreate(savedInstanceState)
+ mapView!!.getMapAsync(this)
+ }
+
+ override fun onMapReady(mapboxMap: MapboxMap) {
+ try {
+ mapboxMap.cameraPosition = CameraPosition.DEFAULT
+ mapboxMap.setStyle(Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ .withSource(GeoJsonSource(LINE_SOURCE, GEOJSON, GeoJsonOptions()))
+ .withLayer(LineLayer("line", LINE_SOURCE)
+ .withProperties(
+ lineColor(get("line-color")),
+ lineWidth(get("line-width")),
+ linePattern(get("line-pattern"))
+ )
+ )
+ )
+ } catch (exception: IOException) {
+ Timber.e(exception)
+ }
+
+ }
+
+ override fun onStart() {
+ super.onStart()
+ mapView!!.onStart()
+ }
+
+ override fun onResume() {
+ super.onResume()
+ mapView!!.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ mapView!!.onPause()
+ }
+
+ override fun onStop() {
+ super.onStop()
+ mapView!!.onStop()
+ }
+
+ public override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ mapView!!.onSaveInstanceState(outState)
+ }
+
+ override fun onLowMemory() {
+ super.onLowMemory()
+ mapView!!.onLowMemory()
+ }
+
+ public override fun onDestroy() {
+ super.onDestroy()
+ mapView!!.onDestroy()
+ }
+
+ companion object {
+
+ val LINE_SOURCE = "gradient"
+
+ val GEOJSON =
+ """
+{
+ "type": "FeatureCollection",
+ "features": [{
+ "type": "Feature",
+ "properties": {
+ "line-pattern": "airfield-11",
+ "line-color": "#ff0",
+ "line-width": 5.0
+ },
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ 0,
+ 90
+ ],
+ [
+ 0,
+ -90
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "line-pattern": "",
+ "line-color": "#ff0",
+ "line-width": 5.0
+ },
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ 15,
+ 90
+ ],
+ [
+ 15,
+ -90
+ ]
+ ]
+ }
+ }
+ ]
+}
+ """
+
+
+ }
+}