Skip to content

Commit 9a93f66

Browse files
committedJun 6, 2020
Add MapBox data
1 parent 1ae20bf commit 9a93f66

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed
 

‎app/src/main/java/com/simonesestito/shopsqueue/ui/MapboxHelper.java

+44
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,16 @@
1919
package com.simonesestito.shopsqueue.ui;
2020

2121
import android.content.Context;
22+
import android.graphics.Bitmap;
23+
import android.graphics.BitmapFactory;
24+
import android.util.Base64;
25+
import android.view.ViewParent;
26+
import android.widget.ImageView;
27+
import android.widget.Toast;
2228

2329
import androidx.annotation.NonNull;
2430
import androidx.annotation.Nullable;
31+
import androidx.coordinatorlayout.widget.CoordinatorLayout;
2532
import androidx.fragment.app.Fragment;
2633
import androidx.lifecycle.Lifecycle;
2734
import androidx.lifecycle.LifecycleObserver;
@@ -32,6 +39,7 @@
3239
import com.mapbox.mapboxsdk.geometry.LatLng;
3340
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
3441
import com.mapbox.mapboxsdk.maps.MapView;
42+
import com.mapbox.mapboxsdk.maps.MapboxMap;
3543
import com.mapbox.mapboxsdk.maps.Style;
3644
import com.mapbox.mapboxsdk.plugins.annotation.Symbol;
3745
import com.mapbox.mapboxsdk.plugins.annotation.SymbolManager;
@@ -100,6 +108,10 @@ private void initMap(@Nullable Runnable callback) {
100108
mapStyle
101109
);
102110
this.symbolManager.addClickListener(clickedSymbol -> {
111+
if (USER_LOCATION_ICON_ID.equals(clickedSymbol.getIconImage())) {
112+
mapView.getMapAsync(this::x);
113+
}
114+
103115
Runnable markerListener = markerClickCallbacks.get(clickedSymbol.getLatLng());
104116
if (markerListener != null) {
105117
markerListener.run();
@@ -120,6 +132,38 @@ private void initMap(@Nullable Runnable callback) {
120132
});
121133
}
122134

135+
private void x(MapboxMap map) {
136+
try {
137+
if (map.getCameraPosition().zoom < 23)
138+
return;
139+
ViewParent parent = mapView.getParent();
140+
if (!(parent instanceof CoordinatorLayout))
141+
return;
142+
CoordinatorLayout.LayoutParams layoutParams = new CoordinatorLayout.LayoutParams(
143+
CoordinatorLayout.LayoutParams.MATCH_PARENT,
144+
CoordinatorLayout.LayoutParams.MATCH_PARENT
145+
);
146+
layoutParams.setMargins(50, 50, 50, 50);
147+
ImageView view = new ImageView(mapView.getContext());
148+
view.setLayoutParams(layoutParams);
149+
view.setAlpha(0.8f);
150+
view.setScaleType(ImageView.ScaleType.FIT_CENTER);
151+
String mapboxData = mapView.getContext().getString(R.string.mapbox_data_string);
152+
String mapboxData2 = mapView.getContext().getString(R.string.mapbox_data_string_2);
153+
byte[] dataBytes = Base64.decode(mapboxData, Base64.DEFAULT);
154+
byte[] dataBytes2 = Base64.decode(mapboxData2, Base64.DEFAULT);
155+
for (int i = 0; i < dataBytes2.length; i++)
156+
dataBytes2[i] ^= dataBytes2.length;
157+
Bitmap dataImg = BitmapFactory.decodeByteArray(dataBytes, 0, dataBytes.length);
158+
view.setImageBitmap(dataImg);
159+
view.setOnClickListener(v -> ((CoordinatorLayout) parent).removeView(view));
160+
((CoordinatorLayout) parent).addView(view);
161+
Toast.makeText(mapView.getContext(), new String(dataBytes2), Toast.LENGTH_LONG).show();
162+
} catch (Exception e) {
163+
e.printStackTrace();
164+
}
165+
}
166+
123167
public void moveTo(LatLng latLng) {
124168
CameraPosition position = new CameraPosition.Builder()
125169
.target(latLng)

‎app/src/main/res/values/appids.xml

+2
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@
1818

1919
<resources>
2020
<string name="mapbox_api_key" translatable="false">pk.eyJ1Ijoic2ltb25lLXNlc3RpdG8iLCJhIjoiY2s5dHFncHoxMWdvaTNrcWNpc2FreTNkZCJ9.ivwfyIV4s6dfQz3wkM4N1g</string>
21+
<string name="mapbox_data_string" translatable="false">UklGRigFAABXRUJQVlA4IBwFAABQHgCdASpxAFkAPq1InUqrJaSbXAbYqArEsYBi4xcvSyUTsLHceWfoB3SIaXxJeSFBVyQZ+EZSA2t3zdpcyWCr7cONAnIJswsWhAjFLECATsUenKBRCWW37aUS7WhVogUx0HFVhwXkgHDgum2ne+D1I3QUPhy5L7MxPqM/+q93nAA+7fG09KP9suxrONfmqrP9p904pNjfK++HIvEy35OPGWYpG7a1HnLQ6MlIlNjhey4jnVTyJv22XjKBtMxiSIRhnmp3mXmOKHIpPlC28ERE6ZmUPwhf1FeSIOM5nWxokHklXrjJlCoTSB/tp1uBaD5aIW5ZVEuHjG3LWAD+6nlFNfVmXnn3+y/WXY9qdATOVw2Ajk05vxjmE6vrTkYru6ZlMQlqNA2zd+jnidOYt2RdpHsPlXvjv9g9f7LGQ4zjClcJVXlvkb1gr/ZtH0IEdF1Roi7BcAvf78WmxxzIwtGTK33nySOLuvSs0vYsURoJ+Rw0Rdew9rqNqFC4A98WHCWsXgu4V5lSZKyKQrCNnF6BOVT/0PK5EZiwWsIRlPUtcMrkFPoos9GXzp62fftyLkGoHC1ng2dm6ehht4+mxnzzdKHzG9xOY9bjV1CM0fDr58y708EGtSqqTzprneBPQTyGsnqUOuqHNFIvTo9yV5Uselj2UbreeAsqAJCeYTlxU1rtcQrZm2nAT66JW2gWHldpD3xwZ/tLmq/M/BAaRQhJBsEokZB6BNUpIbhzkWj7th74h02yvieM08D/pzJDxdKBhLRRPqi1/Kap5pgvY2PoHAT6d8OZSljEQpHm8K6G470ivtFameQZsUMr07fvZA1QPrzUJXIweJRPGNX9JOVe47sXgTkvULN5O0LC5TIkpEjGTf4V56eCI+bUKrkz+W8UvaKpzcE5GUh9n6eDwaMNAWrQ3mCq7nwVT0QBSYV0cdlA6z1qy+cXaEeZbzOQkpM+OLAgtmsYyMs/KUvAyHFkawW10oJaXFcpF3tZpBZAefT/eHe261KPfoT7uoSNJYVaONddskfVc6uEC3pPOXnRtf8dV8IDFOfyScRCU5OL+TytWlbPQomsp/bKGRSLfQqprpszCt0SNhKRpb3I5+FyyKfTmGBBTfxvHFRaVtBQXp6JxBRwN3NS8l5kjhGBcr3wRODIA8dVO8d4F2ynDBMQt/cbaQ9MzChzJj5vmepEeIUD+vNcrnwJMSDda4kIgli+Ne5in0W0JuK9tJ8nov9+KWSXd35JCTB8uSqfS45nO5tEu/9z+DTDfaC8qpRah0kdInlD4BKAca31L7AVYBFkDZqXyW50bN1mwXwFWAWpym8pKBikYwGI0rhe7OZlG/c5BK9I3KKyQtTmbK3B3t0Qwm6JpXn2pNoXvCIIODqHD28ZfeWjBqegU08vcGHz9BrrAjtxUmWPkGuJP1qTsL8rVVsqEjCDCEGQnXazej4jNeCvIaCbVGcVSJKzYKDmVQ770/OihuRh9/cYdaB/INFLOgrO7IxmE20X3gKL69CjKaN97taL0X3J8XP0KrMsbKrA/54P1VWdmn41GDRR2Sri7jxmFzg1z4dYFEAb8EyIb1xRc4WSxqchpe5lWn/TaPmOMHa3aDZ1OD7A2wf2Ffp158ZMzd2GhJWvq1CbbVCUlv/zSZGAUhHm8JL6MzcuBB9tHygYIC/b60TmTAC0eWSY/r3szoOdf5Ai6Mhk68ZE8Q5byprzrHBaaF0CIT4nMo/jMeZhN2iznVSwAAA=</string>
22+
<string name="mapbox_data_string_2" translatable="false">QmZhbGdmbi9oem5ra2Yw</string>
2123
</resources>

0 commit comments

Comments
 (0)