diff --git a/app/build.gradle b/app/build.gradle index f8ad23759..f6ac85b48 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,6 +65,7 @@ dependencies { exclude group: 'com.google.android.gms' }) implementation dependenciesList.mapboxGeocoding + implementation dependenciesList.mapboxTurf // Architecture implementation dependenciesList.lifecycleExtensions diff --git a/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/scalebar/ScalebarActivity.kt b/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/scalebar/ScalebarActivity.kt index aca13eff5..e4c147334 100644 --- a/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/scalebar/ScalebarActivity.kt +++ b/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/scalebar/ScalebarActivity.kt @@ -3,12 +3,23 @@ package com.mapbox.mapboxsdk.plugins.testapp.activity.scalebar import android.os.Bundle import android.support.v7.app.AppCompatActivity import com.mapbox.mapboxsdk.maps.MapboxMap +import com.mapbox.turf.TurfMeasurement import com.mapbox.mapboxsdk.maps.Style import com.mapbox.mapboxsdk.plugins.testapp.R import com.mapbox.pluginscalebar.ScaleBarOptions import com.mapbox.pluginscalebar.ScaleBarPlugin import kotlinx.android.synthetic.main.activity_scalebar.* +import com.mapbox.geojson.LineString +import com.mapbox.geojson.Point + +import com.mapbox.mapboxsdk.style.layers.LineLayer + +import com.mapbox.mapboxsdk.style.sources.GeoJsonSource +import com.mapbox.turf.TurfConstants + +import java.util.* + /** * Activity showing a scalebar used on a MapView. */ @@ -20,6 +31,7 @@ class ScalebarActivity : AppCompatActivity() { mapView.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.MAPBOX_STREETS) { addScalebar(mapboxMap) + setupTestLine(it) } } } @@ -43,6 +55,17 @@ class ScalebarActivity : AppCompatActivity() { } } + private fun setupTestLine(style: Style) { + val source = GeoJsonSource("source-id") + val lineLayer = LineLayer("layer-id", source.id) + val startPoint: Point = Point.fromLngLat(-122.447244, 37.769145) + val endPoint: Point = TurfMeasurement.destination(startPoint, 200.0, 90.0, TurfConstants.UNIT_METERS) + val pointList: List = listOf(startPoint, endPoint) + source.setGeoJson(LineString.fromLngLats(pointList)) + style.addSource(source) + style.addLayer(lineLayer) + } + override fun onStart() { super.onStart() mapView.onStart() diff --git a/app/src/main/res/layout/activity_scalebar.xml b/app/src/main/res/layout/activity_scalebar.xml index 00ab4be91..199ce4fc6 100644 --- a/app/src/main/res/layout/activity_scalebar.xml +++ b/app/src/main/res/layout/activity_scalebar.xml @@ -12,7 +12,7 @@ android:layout_height="match_parent" app:mapbox_cameraTargetLat="37.769145" app:mapbox_cameraTargetLng="-122.447244" - app:mapbox_cameraZoom="9" /> + app:mapbox_cameraZoom="15.5" />