|
@@ -187,8 +187,21 @@ let selected_region = {
|
|
|
source: 'regions',
|
|
|
'source-layer': 'regions',
|
|
|
style: {
|
|
|
- fillColor: 'rgba(57, 115, 172, 0.3)',
|
|
|
- fillOutlineColor: '#3973ac'
|
|
|
+ fillColor: 'rgba(57, 115, 172, 0.3)'
|
|
|
+ },
|
|
|
+ maxzoom: 12
|
|
|
+};
|
|
|
+
|
|
|
+let selected_region_outline = {
|
|
|
+ id: 'selected_region_outline',
|
|
|
+ type: 'line',
|
|
|
+ source: 'regions',
|
|
|
+ 'source-layer': 'regions',
|
|
|
+ style: {
|
|
|
+ lineColor: '#ED9334',
|
|
|
+ lineTranslate: [0, 0],
|
|
|
+ lineTranslateAnchor: 'map',
|
|
|
+ lineWidth: ['interpolate', ['linear'], ['zoom'], 0, 2, 4, 3, 5, 4, 12, 5]
|
|
|
},
|
|
|
maxzoom: 12
|
|
|
};
|
|
@@ -1003,7 +1016,10 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
|
|
|
handlePress();
|
|
|
};
|
|
|
|
|
|
- const handleRegionData = (regionData: any, avatars: string[]) => {
|
|
|
+ const handleRegionData = async (regionData: any, avatars: string[]) => {
|
|
|
+ if (!regionData) {
|
|
|
+ await refreshDatabases();
|
|
|
+ }
|
|
|
setRegionData(regionData);
|
|
|
setUserAvatars(avatars);
|
|
|
};
|
|
@@ -1314,15 +1330,26 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
|
|
|
</>
|
|
|
)}
|
|
|
{selectedRegion && type && (
|
|
|
- <MapLibreRN.FillLayer
|
|
|
- id={selected_region.id}
|
|
|
- sourceID={type}
|
|
|
- sourceLayerID={type}
|
|
|
- filter={['==', 'id', selectedRegion]}
|
|
|
- style={selected_region.style}
|
|
|
- maxZoomLevel={selected_region.maxzoom}
|
|
|
- belowLayerID="waterway-name"
|
|
|
- />
|
|
|
+ <>
|
|
|
+ <MapLibreRN.FillLayer
|
|
|
+ id={selected_region.id}
|
|
|
+ sourceID={type}
|
|
|
+ sourceLayerID={type}
|
|
|
+ filter={['==', 'id', selectedRegion]}
|
|
|
+ style={selected_region.style}
|
|
|
+ maxZoomLevel={selected_region.maxzoom}
|
|
|
+ belowLayerID="waterway-name"
|
|
|
+ />
|
|
|
+ <MapLibreRN.LineLayer
|
|
|
+ id={selected_region_outline.id}
|
|
|
+ sourceID={type}
|
|
|
+ sourceLayerID={type}
|
|
|
+ filter={['==', 'id', selectedRegion]}
|
|
|
+ style={selected_region_outline.style as any}
|
|
|
+ maxZoomLevel={selected_region_outline.maxzoom}
|
|
|
+ belowLayerID="waterway-name"
|
|
|
+ />
|
|
|
+ </>
|
|
|
)}
|
|
|
|
|
|
<MapLibreRN.VectorSource
|