expo-gaode-map 0.1.1 → 0.1.2

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.
Files changed (347) hide show
  1. package/ExpoSmartrefreshlayoutModule.swift +119 -0
  2. package/README.md +26 -479
  3. package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapModule.kt +7 -8
  4. package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapView.kt +9 -1
  5. package/android/src/main/java/expo/modules/gaodemap/managers/CameraManager.kt +14 -0
  6. package/android/src/main/java/expo/modules/gaodemap/managers/OverlayManager.kt +11 -45
  7. package/android/src/main/java/expo/modules/gaodemap/managers/UIManager.kt +111 -9
  8. package/android/src/main/java/expo/modules/gaodemap/utils/ColorParser.kt +48 -0
  9. package/build/components/overlays/Polyline.d.ts.map +1 -1
  10. package/build/components/overlays/Polyline.js +10 -17
  11. package/build/components/overlays/Polyline.js.map +1 -1
  12. package/build/index.d.ts +1 -1
  13. package/build/index.d.ts.map +1 -1
  14. package/build/index.js +2 -2
  15. package/build/index.js.map +1 -1
  16. package/build/modules/AMapSDK.d.ts +0 -6
  17. package/build/modules/AMapSDK.d.ts.map +1 -1
  18. package/build/modules/AMapSDK.js +2 -11
  19. package/build/modules/AMapSDK.js.map +1 -1
  20. package/build/types/map-view.types.d.ts +27 -5
  21. package/build/types/map-view.types.d.ts.map +1 -1
  22. package/build/types/map-view.types.js.map +1 -1
  23. package/docs/API.md +248 -0
  24. package/docs/EXAMPLES.md +479 -0
  25. package/ios/ColorParser.swift +158 -0
  26. package/ios/ExpoGaodeMap.podspec +1 -0
  27. package/ios/ExpoGaodeMapModule.swift +445 -42
  28. package/ios/ExpoGaodeMapView.swift +278 -32
  29. package/ios/UIColorExtension.swift +11 -0
  30. package/ios/managers/CameraManager.swift +107 -0
  31. package/ios/managers/OverlayManager.swift +210 -0
  32. package/ios/managers/UIManager.swift +163 -0
  33. package/ios/modules/LocationManager.swift +144 -0
  34. package/ios/overlays/CircleView.swift +76 -0
  35. package/ios/overlays/ClusterView.swift +56 -0
  36. package/ios/overlays/HeatMapView.swift +98 -0
  37. package/ios/overlays/MarkerView.swift +81 -0
  38. package/ios/overlays/MultiPointView.swift +50 -0
  39. package/ios/overlays/PolygonView.swift +70 -0
  40. package/ios/overlays/PolylineView.swift +62 -0
  41. package/lib/android/.gradle/8.9/checksums/checksums.lock +0 -0
  42. package/lib/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  43. package/lib/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  44. package/lib/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  45. package/lib/android/.gradle/8.9/gc.properties +0 -0
  46. package/lib/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  47. package/lib/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  48. package/lib/android/.gradle/vcs-1/gc.properties +0 -0
  49. package/lib/android/build/.transforms/7df4812a1bb640a0eb92904b45f433ca/results.bin +1 -0
  50. package/lib/android/build/.transforms/7df4812a1bb640a0eb92904b45f433ca/transformed/classes/classes_dex/classes.dex +0 -0
  51. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/results.bin +1 -0
  52. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/AMap3DPackage.dex +0 -0
  53. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/BuildConfig.dex +0 -0
  54. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/UtilsKt$fetchImage$request$1$1.dex +0 -0
  55. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/UtilsKt.dex +0 -0
  56. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/Circle.dex +0 -0
  57. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/CircleManager.dex +0 -0
  58. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/HeatMap.dex +0 -0
  59. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/HeatMapManager.dex +0 -0
  60. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapView$7.dex +0 -0
  61. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapView$8.dex +0 -0
  62. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapView$animateCallback$1.dex +0 -0
  63. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapView.dex +0 -0
  64. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapViewManager$commands$1.dex +0 -0
  65. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapViewManager$commands$2.dex +0 -0
  66. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MapViewManager.dex +0 -0
  67. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/Marker$setIcon$1.dex +0 -0
  68. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/Marker.dex +0 -0
  69. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MarkerManager$Companion.dex +0 -0
  70. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MarkerManager.dex +0 -0
  71. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MultiPoint$setIcon$1.dex +0 -0
  72. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MultiPoint.dex +0 -0
  73. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/MultiPointManager.dex +0 -0
  74. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/Overlay.dex +0 -0
  75. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/Polygon.dex +0 -0
  76. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/PolygonManager.dex +0 -0
  77. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/Polyline.dex +0 -0
  78. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/map_view/PolylineManager.dex +0 -0
  79. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/debug_dex/qiuxiang/amap3d/modules/SdkModule.dex +0 -0
  80. package/lib/android/build/.transforms/d6c91342f3c8bae4ed26783459def84b/transformed/debug/desugar_graph.bin +0 -0
  81. package/lib/android/build/generated/source/buildConfig/debug/qiuxiang/amap3d/BuildConfig.java +10 -0
  82. package/lib/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +14 -0
  83. package/lib/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  84. package/lib/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +6 -0
  85. package/lib/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  86. package/lib/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  87. package/lib/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  88. package/lib/android/build/intermediates/compile_symbol_list/debug/R.txt +1 -0
  89. package/lib/android/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_positio_icon.png.flat +0 -0
  90. package/lib/android/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_positio_icon.png.flat +0 -0
  91. package/lib/android/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_positio_icon.png.flat +0 -0
  92. package/lib/android/build/intermediates/compiled_local_resources/debug/out/drawable-xxhdpi-v4_positio_icon.png.flat +0 -0
  93. package/lib/android/build/intermediates/compiled_local_resources/debug/out/drawable-xxxhdpi-v4_positio_icon.png.flat +0 -0
  94. package/lib/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +6 -0
  95. package/lib/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  96. package/lib/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  97. package/lib/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  98. package/lib/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  99. package/lib/android/build/intermediates/java_res/debug/out/META-INF/react-native-amap3d_debug.kotlin_module +0 -0
  100. package/lib/android/build/intermediates/javac/debug/classes/qiuxiang/amap3d/BuildConfig.class +0 -0
  101. package/lib/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +3 -0
  102. package/lib/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +26 -0
  103. package/lib/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +14 -0
  104. package/lib/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  105. package/lib/android/build/intermediates/packaged_res/debug/drawable-hdpi-v4/positio_icon.png +0 -0
  106. package/lib/android/build/intermediates/packaged_res/debug/drawable-mdpi-v4/positio_icon.png +0 -0
  107. package/lib/android/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/positio_icon.png +0 -0
  108. package/lib/android/build/intermediates/packaged_res/debug/drawable-xxhdpi-v4/positio_icon.png +0 -0
  109. package/lib/android/build/intermediates/packaged_res/debug/drawable-xxxhdpi-v4/positio_icon.png +0 -0
  110. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/META-INF/react-native-amap3d_debug.kotlin_module +0 -0
  111. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/AMap3DPackage.class +0 -0
  112. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/BuildConfig.class +0 -0
  113. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/UtilsKt$fetchImage$request$1$1.class +0 -0
  114. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/UtilsKt.class +0 -0
  115. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/Circle.class +0 -0
  116. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/CircleManager.class +0 -0
  117. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/HeatMap.class +0 -0
  118. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/HeatMapManager.class +0 -0
  119. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapView$7.class +0 -0
  120. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapView$8.class +0 -0
  121. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapView$animateCallback$1.class +0 -0
  122. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapView.class +0 -0
  123. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapViewManager$commands$1.class +0 -0
  124. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapViewManager$commands$2.class +0 -0
  125. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MapViewManager.class +0 -0
  126. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/Marker$setIcon$1.class +0 -0
  127. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/Marker.class +0 -0
  128. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MarkerManager$Companion.class +0 -0
  129. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MarkerManager.class +0 -0
  130. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MultiPoint$setIcon$1.class +0 -0
  131. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MultiPoint.class +0 -0
  132. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/MultiPointManager.class +0 -0
  133. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/Overlay.class +0 -0
  134. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/Polygon.class +0 -0
  135. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/PolygonManager.class +0 -0
  136. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/Polyline.class +0 -0
  137. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/map_view/PolylineManager.class +0 -0
  138. package/lib/android/build/intermediates/runtime_library_classes_dir/debug/qiuxiang/amap3d/modules/SdkModule.class +0 -0
  139. package/lib/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  140. package/lib/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +2 -0
  141. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  142. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  143. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  144. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  145. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  146. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  147. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  148. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  149. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  150. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  151. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  152. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  153. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  154. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  155. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  156. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  157. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  158. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  159. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  160. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  161. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  162. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  163. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  164. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  165. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  166. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  167. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  168. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  169. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  170. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  171. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  172. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  173. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  174. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  175. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  176. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  177. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
  178. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
  179. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
  180. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  181. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
  182. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
  183. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  184. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  185. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  186. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  187. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  188. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  189. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  190. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  191. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  192. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  193. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  194. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  195. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  196. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  197. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  198. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  199. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  200. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  201. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  202. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  203. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  204. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  205. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  206. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  207. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  208. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  209. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  210. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  211. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  212. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  213. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  214. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  215. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  216. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  217. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  218. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  219. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  220. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  221. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  222. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  223. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  224. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  225. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  226. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  227. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  228. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  229. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  230. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
  231. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  232. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -0
  233. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  234. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  235. package/lib/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  236. package/lib/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  237. package/lib/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  238. package/lib/android/build/outputs/logs/manifest-merger-debug-report.txt +41 -0
  239. package/lib/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  240. package/lib/android/build/tmp/kotlin-classes/debug/META-INF/react-native-amap3d_debug.kotlin_module +0 -0
  241. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/AMap3DPackage.class +0 -0
  242. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/UtilsKt$fetchImage$request$1$1.class +0 -0
  243. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/UtilsKt.class +0 -0
  244. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/Circle.class +0 -0
  245. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/CircleManager.class +0 -0
  246. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/HeatMap.class +0 -0
  247. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/HeatMapManager.class +0 -0
  248. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapView$7.class +0 -0
  249. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapView$8.class +0 -0
  250. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapView$animateCallback$1.class +0 -0
  251. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapView.class +0 -0
  252. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapViewManager$commands$1.class +0 -0
  253. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapViewManager$commands$2.class +0 -0
  254. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MapViewManager.class +0 -0
  255. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/Marker$setIcon$1.class +0 -0
  256. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/Marker.class +0 -0
  257. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MarkerManager$Companion.class +0 -0
  258. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MarkerManager.class +0 -0
  259. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MultiPoint$setIcon$1.class +0 -0
  260. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MultiPoint.class +0 -0
  261. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/MultiPointManager.class +0 -0
  262. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/Overlay.class +0 -0
  263. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/Polygon.class +0 -0
  264. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/PolygonManager.class +0 -0
  265. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/Polyline.class +0 -0
  266. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/map_view/PolylineManager.class +0 -0
  267. package/lib/android/build/tmp/kotlin-classes/debug/qiuxiang/amap3d/modules/SdkModule.class +0 -0
  268. package/lib/android/build.gradle +34 -0
  269. package/lib/android/drawable/rn_edit_text_material.xml +37 -0
  270. package/lib/android/drawable-hdpi/positio_icon.png +0 -0
  271. package/lib/android/drawable-hdpi/splashscreen_image.png +0 -0
  272. package/lib/android/drawable-mdpi/splashscreen_image.png +0 -0
  273. package/lib/android/drawable-xhdpi/splashscreen_image.png +0 -0
  274. package/lib/android/drawable-xxhdpi/splashscreen_image.png +0 -0
  275. package/lib/android/drawable-xxxhdpi/splashscreen_image.png +0 -0
  276. package/lib/android/src/main/AndroidManifest.xml +10 -0
  277. package/lib/android/src/main/java/qiuxiang/amap3d/AMap3DPackage.kt +30 -0
  278. package/lib/android/src/main/java/qiuxiang/amap3d/Utils.kt +114 -0
  279. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/Circle.kt +65 -0
  280. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/CircleManager.kt +49 -0
  281. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/HeatMap.kt +32 -0
  282. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/HeatMapManager.kt +33 -0
  283. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/MapView.kt +190 -0
  284. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/MapViewManager.kt +181 -0
  285. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/Marker.kt +102 -0
  286. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/MarkerManager.kt +78 -0
  287. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/MultiPoint.kt +53 -0
  288. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/MultiPointManager.kt +33 -0
  289. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/Overlay.kt +8 -0
  290. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/Polygon.kt +58 -0
  291. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/PolygonManager.kt +44 -0
  292. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/Polyline.kt +69 -0
  293. package/lib/android/src/main/java/qiuxiang/amap3d/map_view/PolylineManager.kt +64 -0
  294. package/lib/android/src/main/java/qiuxiang/amap3d/modules/AMapGeolocationModule.kt +468 -0
  295. package/lib/android/src/main/java/qiuxiang/amap3d/modules/SdkModule.kt +31 -0
  296. package/lib/android/src/main/res/drawable-hdpi/positio_icon.png +0 -0
  297. package/lib/android/src/main/res/drawable-mdpi/positio_icon.png +0 -0
  298. package/lib/android/src/main/res/drawable-xhdpi/positio_icon.png +0 -0
  299. package/lib/android/src/main/res/drawable-xxhdpi/positio_icon.png +0 -0
  300. package/lib/android/src/main/res/drawable-xxxhdpi/positio_icon.png +0 -0
  301. package/lib/ios/.swiftformat +2 -0
  302. package/lib/ios/Bridging-Header.h +4 -0
  303. package/lib/ios/MapView/CircleManager.m +11 -0
  304. package/lib/ios/MapView/CircleManager.swift +30 -0
  305. package/lib/ios/MapView/HeatMapManager.m +9 -0
  306. package/lib/ios/MapView/HeatMapManager.swift +29 -0
  307. package/lib/ios/MapView/MapViewManager.m +35 -0
  308. package/lib/ios/MapView/MapViewManager.swift +188 -0
  309. package/lib/ios/MapView/MarkerManager.m +18 -0
  310. package/lib/ios/MapView/MarkerManager.swift +100 -0
  311. package/lib/ios/MapView/MultiPointManager.m +9 -0
  312. package/lib/ios/MapView/MultiPointManager.swift +47 -0
  313. package/lib/ios/MapView/Overlay.swift +4 -0
  314. package/lib/ios/MapView/PolygonManager.m +10 -0
  315. package/lib/ios/MapView/PolygonManager.swift +30 -0
  316. package/lib/ios/MapView/PolylineManager.m +12 -0
  317. package/lib/ios/MapView/PolylineManager.swift +41 -0
  318. package/lib/ios/Modules/SdkModule.m +8 -0
  319. package/lib/ios/Modules/SdkModule.swift +16 -0
  320. package/lib/ios/RNAMapGeolocation.h +8 -0
  321. package/lib/ios/RNAMapGeolocation.m +302 -0
  322. package/lib/ios/Utils.swift +104 -0
  323. package/lib/ios/react-native-amap3d.podspec +21 -0
  324. package/lib/src/circle.tsx +36 -0
  325. package/lib/src/cluster/cluster-view.tsx +58 -0
  326. package/lib/src/cluster/index.tsx +159 -0
  327. package/lib/src/component.ts +31 -0
  328. package/lib/src/geolocation/index.d.ts +287 -0
  329. package/lib/src/geolocation/index.js +344 -0
  330. package/lib/src/heat-map.tsx +21 -0
  331. package/lib/src/index.ts +13 -0
  332. package/lib/src/location/index.d.ts +287 -0
  333. package/lib/src/location/index.js +344 -0
  334. package/lib/src/map-view.tsx +230 -0
  335. package/lib/src/marker.tsx +128 -0
  336. package/lib/src/multi-point.tsx +28 -0
  337. package/lib/src/polygon.tsx +31 -0
  338. package/lib/src/polyline.tsx +65 -0
  339. package/lib/src/sdk.ts +11 -0
  340. package/lib/src/types.ts +137 -0
  341. package/package.json +2 -2
  342. package/src/components/overlays/Polyline.tsx +11 -19
  343. package/src/index.ts +2 -2
  344. package/src/modules/AMapSDK.ts +2 -12
  345. package/src/types/map-view.types.ts +27 -5
  346. package/docs/followUserLocation.md +0 -186
  347. package/src/types/README.md +0 -186
@@ -0,0 +1,49 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.uimanager.SimpleViewManager
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.annotations.ReactProp
7
+ import qiuxiang.amap3d.toLatLng
8
+ import qiuxiang.amap3d.toPx
9
+
10
+ @Suppress("unused")
11
+ internal class CircleManager : SimpleViewManager<Circle>() {
12
+ override fun getName(): String {
13
+ return "AMapCircle"
14
+ }
15
+
16
+ override fun createViewInstance(reactContext: ThemedReactContext): Circle {
17
+ return Circle(reactContext)
18
+ }
19
+
20
+ @ReactProp(name = "center")
21
+ fun setCenter(circle: Circle, center: ReadableMap) {
22
+ circle.center = center.toLatLng()
23
+ }
24
+
25
+ @ReactProp(name = "radius")
26
+ fun setRadius(circle: Circle, radius: Double) {
27
+ circle.radius = radius
28
+ }
29
+
30
+ @ReactProp(name = "fillColor", customType = "Color")
31
+ fun setFillColor(circle: Circle, fillColor: Int) {
32
+ circle.fillColor = fillColor
33
+ }
34
+
35
+ @ReactProp(name = "strokeColor", customType = "Color")
36
+ fun setStrokeColor(circle: Circle, strokeColor: Int) {
37
+ circle.strokeColor = strokeColor
38
+ }
39
+
40
+ @ReactProp(name = "strokeWidth")
41
+ fun setStrokeWidth(circle: Circle, strokeWidth: Float) {
42
+ circle.strokeWidth = strokeWidth.toPx().toFloat()
43
+ }
44
+
45
+ @ReactProp(name = "zIndex")
46
+ fun setIndex(circle: Circle, zIndex: Float) {
47
+ circle.zIndex = zIndex
48
+ }
49
+ }
@@ -0,0 +1,32 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+ import android.content.Context
4
+ import com.amap.api.maps.AMap
5
+ import com.amap.api.maps.model.HeatmapTileProvider
6
+ import com.amap.api.maps.model.LatLng
7
+ import com.amap.api.maps.model.TileOverlay
8
+ import com.amap.api.maps.model.TileOverlayOptions
9
+ import com.facebook.react.views.view.ReactViewGroup
10
+
11
+ class HeatMap(context: Context) : ReactViewGroup(context), Overlay {
12
+ private var overlay: TileOverlay? = null
13
+ var data: List<LatLng> = emptyList()
14
+ var opacity: Double = 0.6
15
+ var radius: Int = 12
16
+
17
+ override fun add(map: AMap) {
18
+ overlay = map.addTileOverlay(
19
+ TileOverlayOptions().tileProvider(
20
+ HeatmapTileProvider.Builder()
21
+ .data(data)
22
+ .radius(radius)
23
+ .transparency(opacity)
24
+ .build()
25
+ )
26
+ )
27
+ }
28
+
29
+ override fun remove() {
30
+ overlay?.remove()
31
+ }
32
+ }
@@ -0,0 +1,33 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.uimanager.SimpleViewManager
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.annotations.ReactProp
7
+ import qiuxiang.amap3d.toLatLngList
8
+
9
+ @Suppress("unused")
10
+ internal class HeatMapManager : SimpleViewManager<HeatMap>() {
11
+ override fun getName(): String {
12
+ return "AMapHeatMap"
13
+ }
14
+
15
+ override fun createViewInstance(reactContext: ThemedReactContext): HeatMap {
16
+ return HeatMap(reactContext)
17
+ }
18
+
19
+ @ReactProp(name = "data")
20
+ fun setData(heatMap: HeatMap, data: ReadableArray) {
21
+ heatMap.data = data.toLatLngList()
22
+ }
23
+
24
+ @ReactProp(name = "radius")
25
+ fun setRadius(heatMap: HeatMap, radius: Int) {
26
+ heatMap.radius = radius
27
+ }
28
+
29
+ @ReactProp(name = "opacity")
30
+ fun setOpacity(heatMap: HeatMap, opacity: Double) {
31
+ heatMap.opacity = opacity
32
+ }
33
+ }
@@ -0,0 +1,190 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+ import android.annotation.SuppressLint
4
+ import android.graphics.Color
5
+ import android.view.View
6
+ import com.amap.api.maps.AMap
7
+ import com.amap.api.maps.CameraUpdateFactory
8
+ import com.amap.api.maps.TextureMapView
9
+ import com.amap.api.maps.model.BitmapDescriptorFactory
10
+ import com.amap.api.maps.model.CameraPosition
11
+ import com.amap.api.maps.model.LatLng
12
+ import com.amap.api.maps.model.Marker
13
+ import com.amap.api.maps.model.MyLocationStyle
14
+ import com.facebook.react.bridge.Arguments
15
+ import com.facebook.react.bridge.ReadableArray
16
+ import com.facebook.react.bridge.ReadableMap
17
+ import com.facebook.react.bridge.WritableMap
18
+ import com.facebook.react.uimanager.ThemedReactContext
19
+ import qiuxiang.amap3d.R
20
+ import qiuxiang.amap3d.getFloat
21
+ import qiuxiang.amap3d.toJson
22
+ import qiuxiang.amap3d.toLatLng
23
+ import qiuxiang.amap3d.toPoint
24
+
25
+
26
+ @SuppressLint("ViewConstructor")
27
+ class MapView(context: ThemedReactContext) : TextureMapView(context) {
28
+ @Suppress("Deprecation")
29
+ private val eventEmitter =
30
+ context.getJSModule(com.facebook.react.uimanager.events.RCTEventEmitter::class.java)
31
+ private val markerMap = HashMap<String, qiuxiang.amap3d.map_view.Marker>()
32
+ private val polylineMap = HashMap<String, Polyline>()
33
+ private var initialCameraPosition: ReadableMap? = null
34
+ private var locationStyle: MyLocationStyle
35
+ private var currentLocation: LatLng? = null
36
+
37
+ init {
38
+ super.onCreate(null)
39
+
40
+ locationStyle = MyLocationStyle()
41
+ locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATE)
42
+ locationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.drawable.positio_icon))
43
+ locationStyle.strokeColor(Color.TRANSPARENT)
44
+ locationStyle.radiusFillColor(Color.TRANSPARENT)
45
+ map.myLocationStyle = locationStyle
46
+
47
+ map.setOnMapLoadedListener { emit(id, "onLoad") }
48
+ map.setOnMapClickListener { latLng -> emit(id, "onPress", latLng.toJson()) }
49
+ map.setOnPOIClickListener { poi -> emit(id, "onPressPoi", poi.toJson()) }
50
+ map.setOnMapLongClickListener { latLng -> emit(id, "onLongPress", latLng.toJson()) }
51
+ map.setOnPolylineClickListener { polyline -> emit(polylineMap[polyline.id]?.id, "onPress") }
52
+
53
+ map.setOnMarkerClickListener { marker ->
54
+ markerMap[marker.id]?.let { emit(it.id, "onPress") }
55
+ true
56
+ }
57
+
58
+ map.setOnMarkerDragListener(object : AMap.OnMarkerDragListener {
59
+ override fun onMarkerDragStart(marker: Marker) {
60
+ emit(markerMap[marker.id]?.id, "onDragStart")
61
+ }
62
+
63
+ override fun onMarkerDrag(marker: Marker) {
64
+ emit(markerMap[marker.id]?.id, "onDrag")
65
+ }
66
+
67
+ override fun onMarkerDragEnd(marker: Marker) {
68
+ emit(markerMap[marker.id]?.id, "onDragEnd", marker.position.toJson())
69
+ }
70
+ })
71
+
72
+ map.setOnCameraChangeListener(object : AMap.OnCameraChangeListener {
73
+ override fun onCameraChangeFinish(position: CameraPosition) {
74
+ emit(id, "onCameraIdle", Arguments.createMap().apply {
75
+ putMap("cameraPosition", position.toJson())
76
+ putMap("latLngBounds", map.projection.visibleRegion.latLngBounds.toJson())
77
+ })
78
+ }
79
+
80
+ override fun onCameraChange(position: CameraPosition) {
81
+ emit(id, "onCameraMove", Arguments.createMap().apply {
82
+ putMap("cameraPosition", position.toJson())
83
+ putMap("latLngBounds", map.projection.visibleRegion.latLngBounds.toJson())
84
+ })
85
+ }
86
+ })
87
+
88
+ map.setOnMultiPointClickListener { item ->
89
+ item.customerId.split("_").let {
90
+ emit(
91
+ it[0].toInt(),
92
+ "onPress",
93
+ Arguments.createMap().apply { putInt("index", it[1].toInt()) },
94
+ )
95
+ }
96
+ false
97
+ }
98
+
99
+ map.setOnMyLocationChangeListener {
100
+ if (it.time > 0) {
101
+ emit(id, "onLocation", it.toJson())
102
+ currentLocation = LatLng(it.latitude, it.longitude)
103
+ }
104
+ }
105
+ }
106
+
107
+ fun emit(id: Int?, event: String, data: WritableMap = Arguments.createMap()) {
108
+ @Suppress("Deprecation")
109
+ id?.let { eventEmitter.receiveEvent(it, event, data) }
110
+ }
111
+
112
+ fun add(child: View) {
113
+ if (child is Overlay) {
114
+ child.add(map)
115
+ if (child is qiuxiang.amap3d.map_view.Marker) {
116
+ markerMap[child.marker?.id!!] = child
117
+ }
118
+ if (child is Polyline) {
119
+ polylineMap[child.polyline?.id!!] = child
120
+ }
121
+ }
122
+ }
123
+
124
+ fun remove(child: View) {
125
+ if (child is Overlay) {
126
+ child.remove()
127
+ if (child is qiuxiang.amap3d.map_view.Marker) {
128
+ markerMap.remove(child.marker?.id)
129
+ }
130
+ if (child is Polyline) {
131
+ polylineMap.remove(child.polyline?.id)
132
+ }
133
+ }
134
+ }
135
+
136
+ private val animateCallback = object : AMap.CancelableCallback {
137
+ override fun onCancel() {}
138
+ override fun onFinish() {}
139
+ }
140
+
141
+ fun moveCamera(args: ReadableArray?) {
142
+ val current = map.cameraPosition
143
+ val position = args?.getMap(0)!!
144
+ val target = position.getMap("target")?.toLatLng() ?: current.target
145
+ val zoom = position.getFloat("zoom") ?: current.zoom
146
+ val tilt = position.getFloat("tilt") ?: current.tilt
147
+ val bearing = position.getFloat("bearing") ?: current.bearing
148
+ val cameraUpdate = CameraUpdateFactory.newCameraPosition(
149
+ CameraPosition(target, zoom, tilt, bearing)
150
+ )
151
+ map.animateCamera(cameraUpdate, args.getInt(1).toLong(), animateCallback)
152
+ }
153
+
154
+ fun setInitialCameraPosition(position: ReadableMap) {
155
+ if (initialCameraPosition == null) {
156
+ initialCameraPosition = position
157
+ moveCamera(Arguments.createArray().apply {
158
+ pushMap(Arguments.createMap().apply { merge(position) })
159
+ pushInt(0)
160
+ })
161
+ }
162
+ }
163
+
164
+ fun call(args: ReadableArray?) {
165
+ val id = args?.getDouble(0)!!
166
+ when (args.getString(1)) {
167
+ "getLatLng" -> callback(
168
+ id,
169
+ // @todo 暂时兼容 0.63
170
+ @Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
171
+ map.projection.fromScreenLocation(args.getMap(2)!!.toPoint()).toJson()
172
+ )
173
+ }
174
+ }
175
+
176
+ private fun callback(id: Double, data: Any) {
177
+ emit(this.id, "onCallback", Arguments.createMap().apply {
178
+ putDouble("id", id)
179
+ when (data) {
180
+ is WritableMap -> putMap("data", data)
181
+ }
182
+ })
183
+ }
184
+
185
+ fun moveToCurrentLocation(){
186
+ if (currentLocation != null) {
187
+ map.animateCamera(CameraUpdateFactory.newLatLngZoom(currentLocation, 16f));
188
+ }
189
+ }
190
+ }
@@ -0,0 +1,181 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+
4
+ import android.view.View
5
+ import com.amap.api.maps.CameraUpdateFactory
6
+ import com.amap.api.maps.model.BitmapDescriptorFactory
7
+ import com.amap.api.maps.model.MyLocationStyle
8
+ import com.facebook.react.bridge.ReactMethod
9
+ import com.facebook.react.bridge.ReadableArray
10
+ import com.facebook.react.bridge.ReadableMap
11
+ import com.facebook.react.bridge.UiThreadUtil
12
+ import com.facebook.react.uimanager.ThemedReactContext
13
+ import com.facebook.react.uimanager.ViewGroupManager
14
+ import com.facebook.react.uimanager.annotations.ReactProp
15
+ import qiuxiang.amap3d.R
16
+ import qiuxiang.amap3d.getEventTypeConstants
17
+ import qiuxiang.amap3d.toLatLng
18
+
19
+
20
+ @Suppress("unused")
21
+ internal class MapViewManager : ViewGroupManager<MapView>() {
22
+ private val commands = mapOf(
23
+ "moveCamera" to { view: MapView, args: ReadableArray? -> view.moveCamera(args) },
24
+ "call" to { view: MapView, args: ReadableArray? -> view.call(args) },
25
+ "moveToCurrentLocation" to { view: MapView, args: ReadableArray? -> view.moveToCurrentLocation() },
26
+ )
27
+
28
+ override fun getName(): String {
29
+ return "AMapView"
30
+ }
31
+
32
+ override fun createViewInstance(reactContext: ThemedReactContext): MapView {
33
+ return MapView(reactContext)
34
+ }
35
+
36
+ override fun onDropViewInstance(view: MapView) {
37
+ super.onDropViewInstance(view)
38
+ view.onDestroy()
39
+ }
40
+
41
+ override fun getCommandsMap(): Map<String, Int> {
42
+ return commands.keys.mapIndexed { index, key -> key to index }.toMap()
43
+ }
44
+
45
+ override fun receiveCommand(view: MapView, command: Int, args: ReadableArray?) {
46
+ commands.values.toList()[command](view, args)
47
+ }
48
+
49
+ override fun addView(mapView: MapView, child: View, index: Int) {
50
+ mapView.add(child)
51
+ super.addView(mapView, child, index)
52
+ }
53
+
54
+ override fun removeViewAt(parent: MapView, index: Int) {
55
+ parent.remove(parent.getChildAt(index))
56
+ super.removeViewAt(parent, index)
57
+ }
58
+
59
+ override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
60
+ return getEventTypeConstants(
61
+ "onLoad",
62
+ "onPress",
63
+ "onPressPoi",
64
+ "onLongPress",
65
+ "onCameraMove",
66
+ "onCameraIdle",
67
+ "onLocation",
68
+ "onCallback",
69
+ )
70
+ }
71
+
72
+ @ReactProp(name = "initialCameraPosition")
73
+ fun setInitialCameraPosition(view: MapView, position: ReadableMap) {
74
+ view.setInitialCameraPosition(position)
75
+ }
76
+
77
+ @ReactProp(name = "myLocationEnabled")
78
+ fun setMyLocationEnabled(view: MapView, enabled: Boolean) {
79
+ view.map.isMyLocationEnabled = enabled
80
+
81
+ }
82
+
83
+ //自定义定位图标
84
+ @ReactProp(name = "myLocationIcon")
85
+ fun setMyLocationIcon(view: MapView, enabled: Boolean) {
86
+ var myLocationStyle: MyLocationStyle = view.map.myLocationStyle
87
+ myLocationStyle.apply {
88
+ myLocationIcon(BitmapDescriptorFactory.fromResource(R.drawable.positio_icon))
89
+ }
90
+ if (enabled){
91
+ view.map.myLocationStyle = myLocationStyle
92
+ }
93
+ }
94
+
95
+ @ReactProp(name = "indoorViewEnabled")
96
+ fun setIndoorViewEnabled(view: MapView, enabled: Boolean) {
97
+ view.map.showIndoorMap(enabled)
98
+ }
99
+
100
+ @ReactProp(name = "buildingsEnabled")
101
+ fun setBuildingsEnabled(view: MapView, enabled: Boolean) {
102
+ view.map.showBuildings(enabled)
103
+ }
104
+
105
+ @ReactProp(name = "compassEnabled")
106
+ fun setCompassEnabled(view: MapView, show: Boolean) {
107
+ view.map.uiSettings.isCompassEnabled = show
108
+ }
109
+
110
+ @ReactProp(name = "zoomControlsEnabled")
111
+ fun setZoomControlsEnabled(view: MapView, enabled: Boolean) {
112
+ view.map.uiSettings.isZoomControlsEnabled = enabled
113
+ }
114
+
115
+ @ReactProp(name = "scaleControlsEnabled")
116
+ fun setScaleControlsEnabled(view: MapView, enabled: Boolean) {
117
+ view.map.uiSettings.isScaleControlsEnabled = enabled
118
+ }
119
+
120
+ @ReactProp(name = "language")
121
+ fun setLanguage(view: MapView, language: String) {
122
+ view.map.setMapLanguage(language)
123
+ }
124
+
125
+ @ReactProp(name = "myLocationButtonEnabled")
126
+ fun setMyLocationButtonEnabled(view: MapView, enabled: Boolean) {
127
+ view.map.uiSettings.isMyLocationButtonEnabled = enabled
128
+ }
129
+
130
+ @ReactProp(name = "trafficEnabled")
131
+ fun setTrafficEnabled(view: MapView, enabled: Boolean) {
132
+ view.map.isTrafficEnabled = enabled
133
+ }
134
+
135
+ @ReactProp(name = "maxZoom")
136
+ fun setMaxZoom(view: MapView, zoomLevel: Float) {
137
+ view.map.maxZoomLevel = zoomLevel
138
+ }
139
+
140
+ @ReactProp(name = "minZoom")
141
+ fun setMinZoom(view: MapView, zoomLevel: Float) {
142
+ view.map.minZoomLevel = zoomLevel
143
+ }
144
+
145
+ @ReactProp(name = "mapType")
146
+ fun setMapType(view: MapView, mapType: Int) {
147
+ view.map.mapType = mapType + 1
148
+ }
149
+
150
+ @ReactProp(name = "zoomGesturesEnabled")
151
+ fun setZoomGesturesEnabled(view: MapView, enabled: Boolean) {
152
+ view.map.uiSettings.isZoomGesturesEnabled = enabled
153
+ }
154
+
155
+ @ReactProp(name = "scrollGesturesEnabled")
156
+ fun setScrollGesturesEnabled(view: MapView, enabled: Boolean) {
157
+ view.map.uiSettings.isScrollGesturesEnabled = enabled
158
+ }
159
+
160
+ @ReactProp(name = "rotateGesturesEnabled")
161
+ fun setRotateGesturesEnabled(view: MapView, enabled: Boolean) {
162
+ view.map.uiSettings.isRotateGesturesEnabled = enabled
163
+ }
164
+
165
+ @ReactProp(name = "tiltGesturesEnabled")
166
+ fun setTiltGesturesEnabled(view: MapView, enabled: Boolean) {
167
+ view.map.uiSettings.isTiltGesturesEnabled = enabled
168
+ }
169
+
170
+ @ReactProp(name = "cameraPosition")
171
+ fun setCameraPosition(view: MapView, center: ReadableMap) {
172
+ view.map.moveCamera(CameraUpdateFactory.changeLatLng(center.toLatLng()))
173
+ }
174
+
175
+ @ReactMethod
176
+ fun moveToCurrentLocation(view: MapView) {
177
+ UiThreadUtil.runOnUiThread {
178
+ view.moveToCurrentLocation()
179
+ }
180
+ }
181
+ }
@@ -0,0 +1,102 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+ import android.content.Context
4
+ import android.graphics.Bitmap
5
+ import android.graphics.Canvas
6
+ import android.os.Handler
7
+ import android.os.Looper
8
+ import android.view.View
9
+ import com.amap.api.maps.AMap
10
+ import com.amap.api.maps.model.*
11
+ import com.amap.api.maps.model.Marker
12
+ import com.facebook.react.bridge.ReadableMap
13
+ import com.facebook.react.views.view.ReactViewGroup
14
+ import qiuxiang.amap3d.fetchImage
15
+
16
+ class Marker(context: Context) : ReactViewGroup(context), Overlay {
17
+ private var view: View? = null
18
+ private var icon: BitmapDescriptor? = null
19
+ private var anchorX: Float = 0.5f
20
+ private var anchorY: Float = 1f
21
+ var marker: Marker? = null
22
+
23
+ var position: LatLng? = null
24
+ set(value) {
25
+ field = value
26
+ marker?.position = value
27
+ }
28
+
29
+ var zIndex: Float = 0.0f
30
+ set(value) {
31
+ field = value
32
+ marker?.zIndex = value
33
+ }
34
+
35
+ var flat: Boolean = false
36
+ set(value) {
37
+ field = value
38
+ marker?.isFlat = value
39
+ }
40
+
41
+ var opacity: Float = 1f
42
+ set(value) {
43
+ field = value
44
+ marker?.alpha = value
45
+ }
46
+
47
+ var draggable: Boolean = false
48
+ set(value) {
49
+ field = value
50
+ marker?.isDraggable = value
51
+ }
52
+
53
+ fun updateIcon() {
54
+ view?.let {
55
+ if (it.width != 0 && it.height != 0) {
56
+ val bitmap = Bitmap.createBitmap(it.width, it.height, Bitmap.Config.ARGB_8888)
57
+ it.draw(Canvas(bitmap))
58
+ icon = BitmapDescriptorFactory.fromBitmap(bitmap)
59
+ marker?.setIcon(icon)
60
+ }
61
+ }
62
+ }
63
+
64
+ fun setAnchor(x: Double, y: Double) {
65
+ anchorX = x.toFloat()
66
+ anchorY = y.toFloat()
67
+ marker?.setAnchor(anchorX, anchorY)
68
+ }
69
+
70
+ override fun addView(child: View, index: Int) {
71
+ super.addView(child, index)
72
+ view = child
73
+ view?.addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ -> updateIcon() }
74
+ }
75
+
76
+ fun setIcon(source: ReadableMap) {
77
+ fetchImage(source) {
78
+ icon = it
79
+ Handler(Looper.getMainLooper()).post {
80
+ marker?.setIcon(it)
81
+ }
82
+ }
83
+ }
84
+
85
+ override fun add(map: AMap) {
86
+ marker = map.addMarker(
87
+ MarkerOptions()
88
+ .setFlat(flat)
89
+ .icon(icon)
90
+ .alpha(opacity)
91
+ .draggable(draggable)
92
+ .position(position)
93
+ .anchor(anchorX, anchorY)
94
+ .zIndex(zIndex)
95
+ .infoWindowEnable(false)
96
+ )
97
+ }
98
+
99
+ override fun remove() {
100
+ marker?.destroy()
101
+ }
102
+ }
@@ -0,0 +1,78 @@
1
+ package qiuxiang.amap3d.map_view
2
+
3
+ import android.view.View
4
+ import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
6
+ import com.facebook.react.uimanager.ThemedReactContext
7
+ import com.facebook.react.uimanager.ViewGroupManager
8
+ import com.facebook.react.uimanager.annotations.ReactProp
9
+ import qiuxiang.amap3d.getEventTypeConstants
10
+ import qiuxiang.amap3d.toLatLng
11
+
12
+ @Suppress("unused")
13
+ internal class MarkerManager : ViewGroupManager<Marker>() {
14
+ override fun getName(): String {
15
+ return "AMapMarker"
16
+ }
17
+
18
+ override fun createViewInstance(reactContext: ThemedReactContext): Marker {
19
+ return Marker(reactContext)
20
+ }
21
+
22
+ override fun addView(marker: Marker, view: View, index: Int) {
23
+ super.addView(marker, view, index)
24
+ }
25
+
26
+ override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
27
+ return getEventTypeConstants("onPress", "onDrag", "onDragStart", "onDragEnd")
28
+ }
29
+
30
+ companion object {
31
+ const val update = 1
32
+ }
33
+
34
+ override fun getCommandsMap(): Map<String, Int> {
35
+ return mapOf("update" to update)
36
+ }
37
+
38
+ override fun receiveCommand(marker: Marker, commandId: Int, args: ReadableArray?) {
39
+ when (commandId) {
40
+ update -> marker.updateIcon()
41
+ }
42
+ }
43
+
44
+ @ReactProp(name = "latLng")
45
+ fun setLatLng(view: Marker, position: ReadableMap) {
46
+ view.position = position.toLatLng()
47
+ }
48
+
49
+ @ReactProp(name = "flat")
50
+ fun setFlat(marker: Marker, flat: Boolean) {
51
+ marker.flat = flat
52
+ }
53
+
54
+ @ReactProp(name = "opacity")
55
+ override fun setOpacity(marker: Marker, opacity: Float) {
56
+ marker.opacity = opacity
57
+ }
58
+
59
+ @ReactProp(name = "draggable")
60
+ fun setDraggable(marker: Marker, draggable: Boolean) {
61
+ marker.draggable = draggable
62
+ }
63
+
64
+ @ReactProp(name = "zIndex")
65
+ fun setIndex(marker: Marker, zIndex: Float) {
66
+ marker.zIndex = zIndex
67
+ }
68
+
69
+ @ReactProp(name = "anchor")
70
+ fun setAnchor(view: Marker, anchor: ReadableMap) {
71
+ view.setAnchor(anchor.getDouble("x"), anchor.getDouble("y"))
72
+ }
73
+
74
+ @ReactProp(name = "icon")
75
+ fun setIcon(view: Marker, icon: ReadableMap?) {
76
+ icon?.let { view.setIcon(it) }
77
+ }
78
+ }