react-native-map4d-map-dtqg 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +88 -41
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.0-milestone-1/checksums/checksums.lock +0 -0
- package/android/.gradle/9.0-milestone-1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/9.0-milestone-1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/9.0-milestone-1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.0-milestone-1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.0-milestone-1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/config.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/AndroidProjectSystem.xml +6 -0
- package/android/.idea/caches/deviceStreaming.xml +1570 -0
- package/android/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/android/.idea/gradle.xml +12 -0
- package/android/.idea/migrations.xml +10 -0
- package/android/.idea/misc.xml +10 -0
- package/android/.idea/runConfigurations.xml +17 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/build.gradle +60 -60
- package/android/local.properties +8 -0
- package/android/src/main/AndroidManifest.xml +4 -4
- package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
- package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -298
- package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
- package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
- package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
- package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
- package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
- package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
- package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
- package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
- package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
- package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
- package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +226 -226
- package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
- package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
- package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
- package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
- package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
- package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
- package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
- package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
- package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
- package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
- package/ios/Map4dMap.h +7 -7
- package/ios/Map4dMap.m +14 -14
- package/ios/Map4dMapViewManager.m +34 -34
- package/ios/RCTConvert+Map4dMap.h +33 -33
- package/ios/RCTConvert+Map4dMap.m +112 -112
- package/ios/RMFCircle.h +37 -37
- package/ios/RMFCircle.m +100 -100
- package/ios/RMFCircleManager.h +18 -18
- package/ios/RMFCircleManager.m +155 -155
- package/ios/RMFCircleMap4d.h +23 -23
- package/ios/RMFCircleMap4d.m +13 -13
- package/ios/RMFCoordinate.h +22 -22
- package/ios/RMFCoordinate.m +13 -13
- package/ios/RMFDirectionsMarkerOptions.h +24 -24
- package/ios/RMFDirectionsMarkerOptions.m +23 -23
- package/ios/RMFDirectionsRenderer.h +47 -47
- package/ios/RMFDirectionsRenderer.m +182 -182
- package/ios/RMFDirectionsRendererManager.h +17 -17
- package/ios/RMFDirectionsRendererManager.m +84 -84
- package/ios/RMFDirectionsRendererMap4d.h +21 -21
- package/ios/RMFDirectionsRendererMap4d.m +12 -12
- package/ios/RMFDummyView.h +6 -6
- package/ios/RMFDummyView.m +12 -12
- package/ios/RMFEventResponse.h +39 -39
- package/ios/RMFEventResponse.m +98 -98
- package/ios/RMFIcon.h +24 -24
- package/ios/RMFIcon.m +35 -35
- package/ios/RMFMapView.h +84 -84
- package/ios/RMFMapView.m +376 -376
- package/ios/RMFMapViewManager.h +17 -17
- package/ios/RMFMapViewManager.m +493 -493
- package/ios/RMFMarker.h +57 -57
- package/ios/RMFMarker.m +267 -267
- package/ios/RMFMarkerManager.h +17 -17
- package/ios/RMFMarkerManager.m +156 -156
- package/ios/RMFMarkerMap4d.h +19 -19
- package/ios/RMFMarkerMap4d.m +13 -13
- package/ios/RMFPOI.h +38 -38
- package/ios/RMFPOI.m +123 -123
- package/ios/RMFPOIManager.h +18 -18
- package/ios/RMFPOIManager.m +168 -168
- package/ios/RMFPOIMap4d.h +22 -22
- package/ios/RMFPOIMap4d.m +12 -12
- package/ios/RMFPolygon.h +41 -41
- package/ios/RMFPolygon.m +106 -106
- package/ios/RMFPolygonManager.h +18 -18
- package/ios/RMFPolygonManager.m +141 -141
- package/ios/RMFPolygonMap4d.h +23 -23
- package/ios/RMFPolygonMap4d.m +15 -15
- package/ios/RMFPolyline.h +38 -38
- package/ios/RMFPolyline.m +101 -101
- package/ios/RMFPolylineManager.h +18 -18
- package/ios/RMFPolylineManager.m +139 -139
- package/ios/RMFPolylineMap4d.h +22 -22
- package/ios/RMFPolylineMap4d.m +15 -15
- package/ios/building/RMFBuilding.h +41 -41
- package/ios/building/RMFBuilding.m +104 -104
- package/ios/building/RMFBuildingManager.h +19 -19
- package/ios/building/RMFBuildingManager.m +133 -133
- package/ios/building/RMFBuildingMap4d.h +23 -23
- package/ios/building/RMFBuildingMap4d.m +15 -15
- package/ios/overlays/RMFTileOverlay.h +36 -36
- package/ios/overlays/RMFTileOverlay.m +64 -64
- package/ios/overlays/RMFTileOverlayManager.h +17 -17
- package/ios/overlays/RMFTileOverlayManager.m +27 -27
- package/lib/commonjs/components/MFBuilding.js +26 -26
- package/lib/commonjs/components/MFBuilding.js.map +1 -1
- package/lib/commonjs/components/MFCircle.js +20 -20
- package/lib/commonjs/components/MFCircle.js.map +1 -1
- package/lib/commonjs/components/MFDirectionsRenderer.js +32 -32
- package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
- package/lib/commonjs/components/MFMapView.js +133 -71
- package/lib/commonjs/components/MFMapView.js.map +1 -1
- package/lib/commonjs/components/MFMarker.js +35 -35
- package/lib/commonjs/components/MFMarker.js.map +1 -1
- package/lib/commonjs/components/MFPOI.js +20 -20
- package/lib/commonjs/components/MFPOI.js.map +1 -1
- package/lib/commonjs/components/MFPolygon.js +22 -22
- package/lib/commonjs/components/MFPolygon.js.map +1 -1
- package/lib/commonjs/components/MFPolyline.js +18 -18
- package/lib/commonjs/components/MFPolyline.js.map +1 -1
- package/lib/commonjs/components/MFTileOverlay.js +9 -9
- package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
- package/lib/commonjs/components/Map4dMapView.js.map +1 -1
- package/lib/commonjs/components/extends/AreaFocuser.js +311 -0
- package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -0
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/components/MFBuilding.js +26 -26
- package/lib/module/components/MFBuilding.js.map +1 -1
- package/lib/module/components/MFCircle.js +20 -20
- package/lib/module/components/MFCircle.js.map +1 -1
- package/lib/module/components/MFDirectionsRenderer.js +32 -32
- package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
- package/lib/module/components/MFMapView.js +131 -71
- package/lib/module/components/MFMapView.js.map +1 -1
- package/lib/module/components/MFMarker.js +35 -35
- package/lib/module/components/MFMarker.js.map +1 -1
- package/lib/module/components/MFPOI.js +20 -20
- package/lib/module/components/MFPOI.js.map +1 -1
- package/lib/module/components/MFPolygon.js +22 -22
- package/lib/module/components/MFPolygon.js.map +1 -1
- package/lib/module/components/MFPolyline.js +18 -18
- package/lib/module/components/MFPolyline.js.map +1 -1
- package/lib/module/components/MFTileOverlay.js +9 -9
- package/lib/module/components/MFTileOverlay.js.map +1 -1
- package/lib/module/components/Map4dMapView.js.map +1 -1
- package/lib/module/components/extends/AreaFocuser.js +302 -0
- package/lib/module/components/extends/AreaFocuser.js.map +1 -0
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/Map4dMapView.d.ts +7 -7
- package/package.json +152 -152
- package/react-native-map4d-map.podspec +20 -20
- package/src/components/MFBuilding.js +187 -187
- package/src/components/MFCircle.js +173 -173
- package/src/components/MFDirectionsRenderer.js +237 -237
- package/src/components/MFMapView.js +447 -373
- package/src/components/MFMarker.js +246 -246
- package/src/components/MFPOI.js +184 -184
- package/src/components/MFPolygon.js +186 -186
- package/src/components/MFPolyline.js +172 -172
- package/src/components/MFTileOverlay.js +45 -45
- package/src/components/Map4dMapView.tsx +26 -26
- package/src/components/extends/AreaFocuser.js +339 -0
- package/src/index.js +23 -21
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="GradleSettings">
|
|
4
|
+
<option name="linkedExternalProjectsSettings">
|
|
5
|
+
<GradleProjectSettings>
|
|
6
|
+
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
|
7
|
+
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
8
|
+
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
|
9
|
+
</GradleProjectSettings>
|
|
10
|
+
</option>
|
|
11
|
+
</component>
|
|
12
|
+
</project>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
4
|
+
<component name="ProjectRootManager">
|
|
5
|
+
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
6
|
+
</component>
|
|
7
|
+
<component name="ProjectType">
|
|
8
|
+
<option name="id" value="Android" />
|
|
9
|
+
</component>
|
|
10
|
+
</project>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="RunConfigurationProducerService">
|
|
4
|
+
<option name="ignoredProducers">
|
|
5
|
+
<set>
|
|
6
|
+
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
|
7
|
+
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
|
8
|
+
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
|
9
|
+
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
|
10
|
+
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
|
11
|
+
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
|
12
|
+
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
|
13
|
+
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
|
14
|
+
</set>
|
|
15
|
+
</option>
|
|
16
|
+
</component>
|
|
17
|
+
</project>
|
package/android/build.gradle
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
buildscript {
|
|
2
|
-
if (project == rootProject) {
|
|
3
|
-
repositories {
|
|
4
|
-
google()
|
|
5
|
-
mavenCentral()
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
dependencies {
|
|
9
|
-
classpath 'com.android.tools.build:gradle:3.5.3'
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
apply plugin: 'com.android.library'
|
|
15
|
-
|
|
16
|
-
def safeExtGet(prop, fallback) {
|
|
17
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
android {
|
|
21
|
-
compileSdkVersion safeExtGet('Map4dMap_compileSdkVersion', 30)
|
|
22
|
-
defaultConfig {
|
|
23
|
-
minSdkVersion safeExtGet('Map4dMap_minSdkVersion', 21)
|
|
24
|
-
targetSdkVersion safeExtGet('Map4dMap_targetSdkVersion', 30)
|
|
25
|
-
versionCode 1
|
|
26
|
-
versionName "1.0"
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
buildTypes {
|
|
31
|
-
release {
|
|
32
|
-
minifyEnabled false
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
lintOptions {
|
|
36
|
-
disable 'GradleCompatible'
|
|
37
|
-
}
|
|
38
|
-
compileOptions {
|
|
39
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
|
40
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
repositories {
|
|
45
|
-
mavenLocal()
|
|
46
|
-
maven {
|
|
47
|
-
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
48
|
-
url("$rootDir/../node_modules/react-native/android")
|
|
49
|
-
}
|
|
50
|
-
google()
|
|
51
|
-
mavenCentral()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
dependencies {
|
|
55
|
-
//noinspection GradleDynamicVersion
|
|
56
|
-
implementation "com.facebook.react:react-native:+" // From node_modules
|
|
57
|
-
implementation 'vn.map4d:Map4dTypes:1.1.+'
|
|
58
|
-
implementation 'vn.map4d:Map4dMapDTQG:0.1.+'
|
|
59
|
-
implementation 'vn.map4d:Map4dMapUtils:0.0.+'
|
|
60
|
-
}
|
|
1
|
+
buildscript {
|
|
2
|
+
if (project == rootProject) {
|
|
3
|
+
repositories {
|
|
4
|
+
google()
|
|
5
|
+
mavenCentral()
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
dependencies {
|
|
9
|
+
classpath 'com.android.tools.build:gradle:3.5.3'
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
apply plugin: 'com.android.library'
|
|
15
|
+
|
|
16
|
+
def safeExtGet(prop, fallback) {
|
|
17
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
android {
|
|
21
|
+
compileSdkVersion safeExtGet('Map4dMap_compileSdkVersion', 30)
|
|
22
|
+
defaultConfig {
|
|
23
|
+
minSdkVersion safeExtGet('Map4dMap_minSdkVersion', 21)
|
|
24
|
+
targetSdkVersion safeExtGet('Map4dMap_targetSdkVersion', 30)
|
|
25
|
+
versionCode 1
|
|
26
|
+
versionName "1.0"
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
buildTypes {
|
|
31
|
+
release {
|
|
32
|
+
minifyEnabled false
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
lintOptions {
|
|
36
|
+
disable 'GradleCompatible'
|
|
37
|
+
}
|
|
38
|
+
compileOptions {
|
|
39
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
40
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
repositories {
|
|
45
|
+
mavenLocal()
|
|
46
|
+
maven {
|
|
47
|
+
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
48
|
+
url("$rootDir/../node_modules/react-native/android")
|
|
49
|
+
}
|
|
50
|
+
google()
|
|
51
|
+
mavenCentral()
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
dependencies {
|
|
55
|
+
//noinspection GradleDynamicVersion
|
|
56
|
+
implementation "com.facebook.react:react-native:+" // From node_modules
|
|
57
|
+
implementation 'vn.map4d:Map4dTypes:1.1.+'
|
|
58
|
+
implementation 'vn.map4d:Map4dMapDTQG:0.1.+'
|
|
59
|
+
implementation 'vn.map4d:Map4dMapUtils:0.0.+'
|
|
60
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## This file must *NOT* be checked into Version Control Systems,
|
|
2
|
+
# as it contains information specific to your local configuration.
|
|
3
|
+
#
|
|
4
|
+
# Location of the SDK. This is only used by Gradle.
|
|
5
|
+
# For customization when using a Version Control System, please read the
|
|
6
|
+
# header note.
|
|
7
|
+
#Wed Apr 15 14:44:36 ICT 2026
|
|
8
|
+
sdk.dir=D\:\\ANDROID_STUDIO_COMPONENTS\\Sdk
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
-
package="com.reactnativemap4dmap">
|
|
3
|
-
|
|
4
|
-
</manifest>
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
package="com.reactnativemap4dmap">
|
|
3
|
+
|
|
4
|
+
</manifest>
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
package com.reactnativemap4dmap;
|
|
2
|
-
|
|
3
|
-
import android.content.Context;
|
|
4
|
-
import android.graphics.Bitmap;
|
|
5
|
-
import android.graphics.Canvas;
|
|
6
|
-
import android.graphics.drawable.BitmapDrawable;
|
|
7
|
-
import android.graphics.drawable.Drawable;
|
|
8
|
-
import android.graphics.drawable.VectorDrawable;
|
|
9
|
-
import android.os.Build;
|
|
10
|
-
import android.util.DisplayMetrics;
|
|
11
|
-
import android.view.View;
|
|
12
|
-
import android.view.WindowManager;
|
|
13
|
-
|
|
14
|
-
import androidx.core.content.ContextCompat;
|
|
15
|
-
import androidx.core.graphics.drawable.DrawableCompat;
|
|
16
|
-
|
|
17
|
-
import vn.map4d.map.annotations.MFBitmapDescriptor;
|
|
18
|
-
import vn.map4d.map.annotations.MFBitmapDescriptorFactory;
|
|
19
|
-
import vn.map4d.map.annotations.RMFBitmapDescriptor;
|
|
20
|
-
import vn.map4d.map.core.MapContext;
|
|
21
|
-
|
|
22
|
-
class ImageUtils {
|
|
23
|
-
|
|
24
|
-
private static DisplayMetrics metrics;
|
|
25
|
-
|
|
26
|
-
static {
|
|
27
|
-
final DisplayMetrics metrics = new DisplayMetrics();
|
|
28
|
-
WindowManager wm = (WindowManager) MapContext.getContext().getSystemService(Context.WINDOW_SERVICE);
|
|
29
|
-
|
|
30
|
-
wm.getDefaultDisplay().getMetrics(metrics);
|
|
31
|
-
ImageUtils.metrics = metrics;
|
|
32
|
-
|
|
33
|
-
DisplayMetrics realMetrics = null;
|
|
34
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
|
35
|
-
realMetrics = new DisplayMetrics();
|
|
36
|
-
wm.getDefaultDisplay().getRealMetrics(realMetrics);
|
|
37
|
-
}
|
|
38
|
-
if (realMetrics != null) {
|
|
39
|
-
ImageUtils.metrics = realMetrics;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
static int getDrawableResourceByName(View view, String name) {
|
|
44
|
-
return view.getResources().getIdentifier(
|
|
45
|
-
name,
|
|
46
|
-
"drawable",
|
|
47
|
-
view.getContext().getPackageName());
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static MFBitmapDescriptor getBitmapDescriptorByName(View view, String name) {
|
|
51
|
-
return MFBitmapDescriptorFactory.fromResource(getDrawableResourceByName(view, name));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
static MFBitmapDescriptor getBitmapByName(View view, String name) {
|
|
55
|
-
return getBitmapByName(view, name, -1, -1);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
static MFBitmapDescriptor getBitmapByName(View view, String name, int width, int height) {
|
|
59
|
-
int resourceId = getDrawableResourceByName(view, name);
|
|
60
|
-
Drawable drawable = ContextCompat.getDrawable(MapContext.getContext(), resourceId);
|
|
61
|
-
if (drawable instanceof BitmapDrawable || drawable instanceof VectorDrawable) {
|
|
62
|
-
Bitmap bitmap = createBitmapFromDrawable(drawable, width, height);
|
|
63
|
-
return RMFBitmapDescriptor.create(bitmap, ImageUtils.metrics.densityDpi);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
throw new IllegalArgumentException("The resource provided must be a Bitmap.");
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
private static Bitmap createBitmapFromDrawable(Drawable drawable, int width, int height) {
|
|
71
|
-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
|
72
|
-
drawable = (DrawableCompat.wrap(drawable)).mutate();
|
|
73
|
-
}
|
|
74
|
-
int tWidth = width <= 0 ? drawable.getIntrinsicWidth(): width;
|
|
75
|
-
int tHeight = height <= 0 ? drawable.getIntrinsicHeight(): height;
|
|
76
|
-
|
|
77
|
-
Bitmap bitmap = Bitmap.createBitmap(
|
|
78
|
-
tWidth,
|
|
79
|
-
tHeight,
|
|
80
|
-
Bitmap.Config.ARGB_8888);
|
|
81
|
-
Canvas canvas = new Canvas(bitmap);
|
|
82
|
-
drawable.setBounds(0, 0, tWidth, tHeight);
|
|
83
|
-
drawable.draw(canvas);
|
|
84
|
-
|
|
85
|
-
return bitmap;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
1
|
+
package com.reactnativemap4dmap;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.graphics.Bitmap;
|
|
5
|
+
import android.graphics.Canvas;
|
|
6
|
+
import android.graphics.drawable.BitmapDrawable;
|
|
7
|
+
import android.graphics.drawable.Drawable;
|
|
8
|
+
import android.graphics.drawable.VectorDrawable;
|
|
9
|
+
import android.os.Build;
|
|
10
|
+
import android.util.DisplayMetrics;
|
|
11
|
+
import android.view.View;
|
|
12
|
+
import android.view.WindowManager;
|
|
13
|
+
|
|
14
|
+
import androidx.core.content.ContextCompat;
|
|
15
|
+
import androidx.core.graphics.drawable.DrawableCompat;
|
|
16
|
+
|
|
17
|
+
import vn.map4d.map.annotations.MFBitmapDescriptor;
|
|
18
|
+
import vn.map4d.map.annotations.MFBitmapDescriptorFactory;
|
|
19
|
+
import vn.map4d.map.annotations.RMFBitmapDescriptor;
|
|
20
|
+
import vn.map4d.map.core.MapContext;
|
|
21
|
+
|
|
22
|
+
class ImageUtils {
|
|
23
|
+
|
|
24
|
+
private static DisplayMetrics metrics;
|
|
25
|
+
|
|
26
|
+
static {
|
|
27
|
+
final DisplayMetrics metrics = new DisplayMetrics();
|
|
28
|
+
WindowManager wm = (WindowManager) MapContext.getContext().getSystemService(Context.WINDOW_SERVICE);
|
|
29
|
+
|
|
30
|
+
wm.getDefaultDisplay().getMetrics(metrics);
|
|
31
|
+
ImageUtils.metrics = metrics;
|
|
32
|
+
|
|
33
|
+
DisplayMetrics realMetrics = null;
|
|
34
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
|
35
|
+
realMetrics = new DisplayMetrics();
|
|
36
|
+
wm.getDefaultDisplay().getRealMetrics(realMetrics);
|
|
37
|
+
}
|
|
38
|
+
if (realMetrics != null) {
|
|
39
|
+
ImageUtils.metrics = realMetrics;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static int getDrawableResourceByName(View view, String name) {
|
|
44
|
+
return view.getResources().getIdentifier(
|
|
45
|
+
name,
|
|
46
|
+
"drawable",
|
|
47
|
+
view.getContext().getPackageName());
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static MFBitmapDescriptor getBitmapDescriptorByName(View view, String name) {
|
|
51
|
+
return MFBitmapDescriptorFactory.fromResource(getDrawableResourceByName(view, name));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static MFBitmapDescriptor getBitmapByName(View view, String name) {
|
|
55
|
+
return getBitmapByName(view, name, -1, -1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static MFBitmapDescriptor getBitmapByName(View view, String name, int width, int height) {
|
|
59
|
+
int resourceId = getDrawableResourceByName(view, name);
|
|
60
|
+
Drawable drawable = ContextCompat.getDrawable(MapContext.getContext(), resourceId);
|
|
61
|
+
if (drawable instanceof BitmapDrawable || drawable instanceof VectorDrawable) {
|
|
62
|
+
Bitmap bitmap = createBitmapFromDrawable(drawable, width, height);
|
|
63
|
+
return RMFBitmapDescriptor.create(bitmap, ImageUtils.metrics.densityDpi);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
throw new IllegalArgumentException("The resource provided must be a Bitmap.");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private static Bitmap createBitmapFromDrawable(Drawable drawable, int width, int height) {
|
|
71
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
|
72
|
+
drawable = (DrawableCompat.wrap(drawable)).mutate();
|
|
73
|
+
}
|
|
74
|
+
int tWidth = width <= 0 ? drawable.getIntrinsicWidth(): width;
|
|
75
|
+
int tHeight = height <= 0 ? drawable.getIntrinsicHeight(): height;
|
|
76
|
+
|
|
77
|
+
Bitmap bitmap = Bitmap.createBitmap(
|
|
78
|
+
tWidth,
|
|
79
|
+
tHeight,
|
|
80
|
+
Bitmap.Config.ARGB_8888);
|
|
81
|
+
Canvas canvas = new Canvas(bitmap);
|
|
82
|
+
drawable.setBounds(0, 0, tWidth, tHeight);
|
|
83
|
+
drawable.draw(canvas);
|
|
84
|
+
|
|
85
|
+
return bitmap;
|
|
86
|
+
}
|
|
87
|
+
}
|