From 310d8efc89b7233cbffc3f2789265d898d247dbe Mon Sep 17 00:00:00 2001 From: Kevin Li Date: Thu, 7 May 2020 08:11:14 +0800 Subject: [PATCH] Add example of image in label (#324) --- .../src/main/AndroidManifest.xml | 12 ++ .../activity/style/ImageInLabelActivity.java | 131 ++++++++++++++++++ .../src/main/res/values/descriptions.xml | 1 + .../src/main/res/values/titles.xml | 1 + 4 files changed, 145 insertions(+) create mode 100644 MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ImageInLabelActivity.java diff --git a/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index 5077894dd..c8ef24ac4 100644 --- a/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -1169,6 +1169,18 @@ android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> + + + + { + Bitmap us = BitmapUtils.getBitmapFromDrawable(getResources().getDrawable(R.drawable.ic_us)); + Bitmap android = BitmapUtils.getBitmapFromDrawable(getResources().getDrawable(R.drawable.ic_android)); + + style.addImage("us", us); + style.addImage("android", android); + + Point point = Point.fromLngLat(-10, 0); + Feature feature = Feature.fromGeometry(point); + FeatureCollection originalCollection = FeatureCollection.fromFeature(feature); + GeoJsonSource originalSource = new GeoJsonSource(ORIGINAL_SOURCE, originalCollection); + SymbolLayer originalLayer = new SymbolLayer(ORIGINAL_LAYER, ORIGINAL_SOURCE) + .withProperties( + textAllowOverlap(true), + textField(Expression + .format( + formatEntry(literal("Android: "), + formatFontScale(1.0), + formatTextColor(Color.BLUE), + formatTextFont(new String[] {"Ubuntu Medium", "Arial Unicode MS Regular"})), + formatEntry(image(literal("android"))), + formatEntry(literal("Us: "), + formatFontScale(1.5), + formatTextColor(Color.YELLOW)), + formatEntry(image(literal("us"))), + formatEntry(literal("suffix"), + formatFontScale(2.0), + formatTextColor(Color.CYAN)) + ) + ) + + ); + + style.addSource(originalSource); + style.addLayer(originalLayer); + }); + } + + @Override + protected void onStart() { + super.onStart(); + mapView.onStart(); + } + + @Override + protected void onResume() { + super.onResume(); + mapView.onResume(); + } + + @Override + protected void onPause() { + super.onPause(); + mapView.onPause(); + } + + @Override + protected void onStop() { + super.onStop(); + mapView.onStop(); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + mapView.onSaveInstanceState(outState); + } + + @Override + public void onLowMemory() { + super.onLowMemory(); + mapView.onLowMemory(); + } + + @Override + public void onDestroy() { + super.onDestroy(); + mapView.onDestroy(); + } + +} diff --git a/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml b/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml index f6e516ebc..1d858873b 100644 --- a/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml +++ b/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml @@ -21,6 +21,7 @@ Download an offline region. Usage of the within expression on a buffered geometry Usage of the stretchable image as a background for text. + Usage of the image in label. Update metadata example Delete region example Change resources cache path example diff --git a/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml b/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml index a036a4515..28d0becd9 100644 --- a/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml +++ b/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml @@ -94,4 +94,5 @@ Download region Within expression Stretchable Image + Image In Label \ No newline at end of file