react-native-maps 0.31.1 → 1.0.0-alpha.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/android/build.gradle +89 -33
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/android/gradlew +251 -0
- package/android/gradlew.bat +94 -0
- package/android/src/main/AndroidManifest.xml +1 -5
- package/android/src/main/RCTAppDependencyProvider.h +25 -0
- package/android/src/main/RCTAppDependencyProvider.mm +55 -0
- package/android/src/main/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/android/src/main/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/android/src/main/RCTThirdPartyComponentsProvider.h +16 -0
- package/android/src/main/RCTThirdPartyComponentsProvider.mm +28 -0
- package/android/src/main/ReactAppDependencyProvider.podspec +34 -0
- package/android/src/main/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +17 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +23 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +23 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +209 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +45 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +22 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +26 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerDelegate.java +62 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerInterface.java +27 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerDelegate.java +56 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerInterface.java +25 -0
- package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
- package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
- package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
- package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +623 -0
- package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
- package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +284 -0
- package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +101 -0
- package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
- package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
- package/android/src/main/java/com/rnmaps/fabric/UrlTileManager.java +124 -0
- package/android/src/main/java/com/rnmaps/fabric/WMSTileManager.java +114 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/FileUtil.java +3 -6
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/FusedLocationSource.java +5 -2
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageReadable.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageReader.java +5 -7
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageUtil.java +1 -2
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/LatLngBoundsUtils.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +98 -0
- package/android/src/main/java/com/rnmaps/maps/MapCallout.java +41 -0
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCalloutManager.java → rnmaps/maps/MapCalloutManager.java} +6 -6
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCircle.java → rnmaps/maps/MapCircle.java} +34 -8
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCircleManager.java → rnmaps/maps/MapCircleManager.java} +15 -20
- package/android/src/main/java/com/rnmaps/maps/MapFeature.java +17 -0
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapGradientPolyline.java → rnmaps/maps/MapGradientPolyline.java} +9 -12
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapGradientPolylineManager.java → rnmaps/maps/MapGradientPolylineManager.java} +13 -18
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapHeatmap.java → rnmaps/maps/MapHeatmap.java} +8 -9
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapHeatmapManager.java → rnmaps/maps/MapHeatmapManager.java} +8 -8
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapLocalTile.java → rnmaps/maps/MapLocalTile.java} +19 -16
- package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +54 -0
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +504 -0
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +706 -0
- package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +368 -0
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +283 -0
- package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +262 -0
- package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +97 -0
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolygon.java → rnmaps/maps/MapPolygon.java} +73 -9
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolygonManager.java → rnmaps/maps/MapPolygonManager.java} +22 -22
- package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +230 -0
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolylineManager.java → rnmaps/maps/MapPolylineManager.java} +18 -38
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapTileProvider.java → rnmaps/maps/MapTileProvider.java} +55 -76
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapTileWorker.java → rnmaps/maps/MapTileWorker.java} +7 -14
- package/android/src/main/java/com/rnmaps/maps/MapUIBlock.java +64 -0
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapUrlTile.java → rnmaps/maps/MapUrlTile.java} +29 -29
- package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +87 -0
- package/android/src/main/java/com/rnmaps/maps/MapView.java +1844 -0
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapWMSTile.java → rnmaps/maps/MapWMSTile.java} +11 -17
- package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +81 -0
- package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +45 -0
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/RegionChangeEvent.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/SizeReportingShadowNode.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ViewAttacherGroup.java +2 -7
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ViewChangesTracker.java +12 -11
- package/android/src/main/jni/CMakeLists.txt +36 -0
- package/android/src/main/jni/RNMapsSpecs-generated.cpp +68 -0
- package/android/src/main/jni/RNMapsSpecs.h +31 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +31 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +33 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +979 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +860 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +227 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +1297 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +26 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +131 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +137 -0
- package/app.plugin.js +1 -0
- package/ios/AirGoogleMaps/AIRGMSMarker.h +2 -0
- package/ios/AirGoogleMaps/AIRGoogleMap.h +22 -12
- package/ios/AirGoogleMaps/{AIRGoogleMap.m → AIRGoogleMap.mm} +407 -130
- package/ios/AirGoogleMaps/AIRGoogleMapCircle.h +2 -3
- package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +42 -3
- package/ios/AirGoogleMaps/AIRGoogleMapCoordinate.h +13 -0
- package/ios/AirGoogleMaps/AIRGoogleMapCoordinate.m +10 -0
- package/ios/AirGoogleMaps/AIRGoogleMapHeatmap.h +1 -1
- package/ios/AirGoogleMaps/AIRGoogleMapManager.h +11 -0
- package/ios/AirGoogleMaps/AIRGoogleMapManager.mm +543 -0
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +4 -0
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +369 -237
- package/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +3 -2
- package/ios/AirGoogleMaps/AIRGoogleMapOverlay.h +0 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +7 -6
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +62 -5
- package/ios/AirGoogleMaps/AIRGoogleMapPolygonManager.m +3 -3
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +4 -3
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +9 -9
- package/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m +2 -2
- package/ios/AirGoogleMaps/AIRGoogleMapUrlTile.m +2 -2
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +4 -4
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.h +3 -0
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +18 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +29 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +678 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapViewManager.mm +40 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +226 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +26 -0
- package/ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle/PrivacyInfo.xcprivacy +110 -0
- package/ios/AirMaps/AIRMap.h +19 -14
- package/ios/AirMaps/{AIRMap.m → AIRMap.mm} +333 -120
- package/ios/AirMaps/AIRMapCircle.m +1 -53
- package/ios/AirMaps/AIRMapCoordinate.m +2 -4
- package/ios/AirMaps/AIRMapManager.m +64 -218
- package/ios/AirMaps/AIRMapMarker.h +5 -0
- package/ios/AirMaps/AIRMapMarker.m +180 -69
- package/ios/AirMaps/AIRMapMarkerManager.m +3 -0
- package/ios/AirMaps/AIRMapOverlay.m +2 -2
- package/ios/AirMaps/AIRMapPolygon.m +0 -52
- package/ios/AirMaps/AIRMapPolyline.m +3 -2
- package/ios/AirMaps/AIRMapWMSTile.m +8 -8
- package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
- package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.h +25 -0
- package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +77 -0
- package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.h +25 -0
- package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +52 -0
- package/ios/AirMaps/RCTComponentData+Maps.h +13 -0
- package/ios/AirMaps/RCTComponentData+Maps.m +55 -0
- package/ios/AirMaps/RCTConvert+AirMap.h +6 -1
- package/ios/AirMaps/RCTConvert+AirMap.m +18 -0
- package/ios/AirMaps/RNMapsAirModule.h +15 -0
- package/ios/AirMaps/RNMapsAirModule.mm +164 -0
- package/ios/AirMaps/RNMapsDefines.h +1 -0
- package/ios/AirMaps/RNMapsMapView.h +27 -0
- package/ios/AirMaps/RNMapsMapView.mm +577 -0
- package/ios/AirMaps/RNMapsMapViewManager.mm +42 -0
- package/ios/AirMaps/RNMapsMarkerView.h +24 -0
- package/ios/AirMaps/RNMapsMarkerView.mm +439 -0
- package/ios/AirMaps/RNMapsMarkerViewManager.mm +28 -0
- package/ios/AirMaps/UIView+AirMap.h +11 -0
- package/ios/AirMaps/UIView+AirMap.m +20 -0
- package/ios/AirMaps/module.modulemap +6 -0
- package/ios/AirMaps.xcodeproj/project.pbxproj +44 -4
- package/ios/PrivacyInfo.xcprivacy +37 -0
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
- package/ios/generated/RNMapsAirModuleDelegate.h +24 -0
- package/ios/generated/RNMapsHostVewDelegate.h +17 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.cpp +977 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.h +846 -0
- package/ios/generated/RNMapsSpecs/Props.cpp +194 -0
- package/ios/generated/RNMapsSpecs/Props.h +1224 -0
- package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +591 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
- package/ios/generated/RNMapsSpecs/States.cpp +16 -0
- package/ios/generated/RNMapsSpecs/States.h +113 -0
- package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
- package/ios/generated/RNMapsSpecsJSI.h +268 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/ios/generated/module.modulemap +15 -0
- package/package.json +57 -34
- package/plugin/build/android.js +58 -0
- package/plugin/build/index.js +10 -0
- package/plugin/build/ios.js +176 -0
- package/plugin/build/types.js +2 -0
- package/react-native-maps.podspec +114 -11
- package/react-native.config.js +15 -0
- package/src/{AnimatedRegion.js → AnimatedRegion.ts} +26 -21
- package/src/Geojson.tsx +541 -0
- package/src/MapCallout.tsx +77 -0
- package/src/MapCalloutSubview.tsx +64 -0
- package/src/MapCircle.tsx +162 -0
- package/src/MapHeatmap.tsx +125 -0
- package/src/MapLocalTile.tsx +60 -0
- package/src/MapMarker.tsx +531 -0
- package/src/MapMarkerNativeComponent.ts +51 -0
- package/src/MapOverlay.tsx +178 -0
- package/src/MapPolygon.tsx +188 -0
- package/src/MapPolygon.types.ts +25 -0
- package/src/MapPolyline.tsx +215 -0
- package/src/MapUrlTile.tsx +169 -0
- package/src/MapView.tsx +1235 -0
- package/src/MapView.types.ts +212 -0
- package/src/MapView.web.ts +2 -0
- package/src/MapViewNativeComponent.ts +86 -0
- package/src/MapWMSTile.tsx +148 -0
- package/src/ProviderConstants.ts +2 -0
- package/src/createFabricMap.tsx +253 -0
- package/src/decorateMapComponent.ts +230 -0
- package/src/fixImageProp.ts +17 -0
- package/src/index.ts +52 -0
- package/src/sharedTypes.ts +101 -0
- package/src/sharedTypesInternal.ts +1 -0
- package/src/specs/NativeAirMapsModule.ts +36 -0
- package/src/specs/NativeComponentCallout.ts +63 -0
- package/src/specs/NativeComponentCircle.ts +93 -0
- package/src/specs/NativeComponentGoogleMapView.ts +922 -0
- package/src/specs/NativeComponentGooglePolygon.ts +94 -0
- package/src/specs/NativeComponentMapView.ts +1100 -0
- package/src/specs/NativeComponentMarker.ts +326 -0
- package/src/specs/NativeComponentOverlay.ts +98 -0
- package/src/specs/NativeComponentPolyline.ts +124 -0
- package/src/specs/NativeComponentUrlTile.ts +128 -0
- package/src/specs/NativeComponentWMSTile.ts +107 -0
- package/LICENSE +0 -21
- package/README.md +0 -652
- package/android/src/main/assets/ula.kml +0 -1214
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapCallout.java +0 -23
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapFeature.java +0 -18
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapLiteManager.java +0 -20
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapLocalTileManager.java +0 -56
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java +0 -500
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java +0 -630
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapMarkerManager.java +0 -370
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java +0 -380
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapOverlay.java +0 -169
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapOverlayManager.java +0 -81
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapPolyline.java +0 -162
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapUrlTileManager.java +0 -97
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java +0 -1384
- package/android/src/main/java/com/airbnb/android/react/maps/AirMapWMSTileManager.java +0 -87
- package/android/src/main/java/com/airbnb/android/react/maps/MapsPackage.java +0 -65
- package/index.d.ts +0 -637
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -690
- package/ios/User.xcconfig +0 -0
- package/react-native-google-maps.podspec +0 -22
- package/src/Geojson.js +0 -334
- package/src/MapCallout.js +0 -51
- package/src/MapCalloutSubview.js +0 -44
- package/src/MapCircle.js +0 -150
- package/src/MapHeatmap.js +0 -99
- package/src/MapLocalTile.js +0 -52
- package/src/MapMarker.js +0 -377
- package/src/MapOverlay.js +0 -86
- package/src/MapPolygon.js +0 -202
- package/src/MapPolyline.js +0 -168
- package/src/MapUrlTile.js +0 -131
- package/src/MapView.js +0 -1160
- package/src/MapView.web.js +0 -1
- package/src/MapWMSTile.js +0 -122
- package/src/ProviderConstants.js +0 -2
- package/src/decorateMapComponent.js +0 -112
- package/src/index.js +0 -31
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
#import <React/RCTImageLoaderProtocol.h>
|
|
15
15
|
#import <React/RCTUtils.h>
|
|
16
16
|
#import <React/UIView+React.h>
|
|
17
|
+
#import <React/RCTImageLoader.h>
|
|
18
|
+
#import <React/RCTBridge+Private.h>
|
|
17
19
|
|
|
18
20
|
NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
19
21
|
|
|
@@ -23,9 +25,18 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
23
25
|
@implementation AIRMapMarker {
|
|
24
26
|
BOOL _hasSetCalloutOffset;
|
|
25
27
|
RCTImageLoaderCancellationBlock _reloadImageCancellationBlock;
|
|
28
|
+
MKMarkerAnnotationView *_markerView;
|
|
26
29
|
MKPinAnnotationView *_pinView;
|
|
27
30
|
BOOL _calloutIsOpen;
|
|
28
31
|
NSInteger _zIndexBeforeOpen;
|
|
32
|
+
BOOL _useLegacyPinView;
|
|
33
|
+
|
|
34
|
+
CADisplayLink *_displayLink;
|
|
35
|
+
CLLocationCoordinate2D _startCoordinate;
|
|
36
|
+
CLLocationCoordinate2D _endCoordinate;
|
|
37
|
+
NSTimeInterval _animationStartTime;
|
|
38
|
+
NSTimeInterval _animationDuration;
|
|
39
|
+
BOOL _isAnimating;
|
|
29
40
|
}
|
|
30
41
|
|
|
31
42
|
- (instancetype)initWithFrame:(CGRect)frame {
|
|
@@ -50,10 +61,10 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
50
61
|
|
|
51
62
|
// Avoid crashes due to nan coords
|
|
52
63
|
if (isnan(center.x) || isnan(center.y) ||
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
isnan(bounds.origin.x) || isnan(bounds.origin.y) ||
|
|
65
|
+
isnan(bounds.size.width) || isnan(bounds.size.height)) {
|
|
55
66
|
RCTLogError(@"Invalid layout for (%@)%@. position: %@. bounds: %@",
|
|
56
|
-
|
|
67
|
+
self.reactTag, self, NSStringFromCGPoint(center), NSStringFromCGRect(bounds));
|
|
57
68
|
return;
|
|
58
69
|
}
|
|
59
70
|
|
|
@@ -66,44 +77,74 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
66
77
|
self.calloutView = (AIRMapCallout *)subview;
|
|
67
78
|
} else {
|
|
68
79
|
[super insertReactSubview:(UIView *)subview atIndex:atIndex];
|
|
80
|
+
[self addSubview:subview];
|
|
69
81
|
}
|
|
70
82
|
}
|
|
83
|
+
- (void) setFrame:(CGRect)frame {
|
|
84
|
+
// hack to ignore call by react transactions when it shouldn't
|
|
85
|
+
if (!CGPointEqualToPoint(self.frame.origin, CGPointZero) &&
|
|
86
|
+
CGPointEqualToPoint(frame.origin, CGPointZero)){
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
[super setFrame:frame];
|
|
90
|
+
}
|
|
71
91
|
|
|
72
92
|
- (void)removeReactSubview:(id<RCTComponent>)subview {
|
|
73
93
|
if ([subview isKindOfClass:[AIRMapCallout class]] && self.calloutView == subview) {
|
|
74
94
|
self.calloutView = nil;
|
|
75
95
|
} else {
|
|
76
96
|
[super removeReactSubview:(UIView *)subview];
|
|
97
|
+
[(UIView *) subview removeFromSuperview];
|
|
77
98
|
}
|
|
78
99
|
}
|
|
79
100
|
|
|
80
101
|
- (MKAnnotationView *)getAnnotationView
|
|
81
102
|
{
|
|
82
103
|
if ([self shouldUsePinView]) {
|
|
83
|
-
// In this case, we want to render a platform "default" marker.
|
|
84
|
-
|
|
104
|
+
// In this case, we want to render a platform "default" legacy marker.
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
if (_pinView == nil && _useLegacyPinView) {
|
|
85
108
|
_pinView = [[MKPinAnnotationView alloc] initWithAnnotation:self reuseIdentifier: nil];
|
|
86
109
|
[self addGestureRecognizerToView:_pinView];
|
|
87
110
|
_pinView.annotation = self;
|
|
88
|
-
}
|
|
89
111
|
|
|
90
|
-
|
|
91
|
-
|
|
112
|
+
if ([_pinView respondsToSelector:@selector(setPinTintColor:)]) {
|
|
113
|
+
_pinView.pinTintColor = self.pinColor;
|
|
114
|
+
}
|
|
92
115
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
_pinView
|
|
116
|
+
_pinView.draggable = self.draggable;
|
|
117
|
+
_pinView.layer.zPosition = self.zIndex;
|
|
118
|
+
_pinView.displayPriority = self.displayPriority;
|
|
119
|
+
_pinView.zPriority = self.zIndex;
|
|
120
|
+
return _pinView;
|
|
98
121
|
}
|
|
99
122
|
|
|
100
|
-
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
if (_markerView == nil && !_useLegacyPinView) {
|
|
126
|
+
_markerView = [[MKMarkerAnnotationView alloc] initWithAnnotation:self reuseIdentifier: nil];
|
|
127
|
+
[self addGestureRecognizerToView:_markerView];
|
|
128
|
+
_markerView.annotation = self;
|
|
129
|
+
|
|
130
|
+
_markerView.draggable = self.draggable;
|
|
131
|
+
_markerView.layer.zPosition = self.zIndex;
|
|
132
|
+
_markerView.markerTintColor = self.pinColor;
|
|
133
|
+
_markerView.titleVisibility = self.titleVisibility ?: MKFeatureVisibilityHidden;
|
|
134
|
+
_markerView.subtitleVisibility = self.subtitleVisibility ?: MKFeatureVisibilityHidden;
|
|
135
|
+
_markerView.displayPriority = self.displayPriority;
|
|
136
|
+
_markerView.zPriority = self.zIndex;
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
}
|
|
140
|
+
return _markerView ?: _pinView;
|
|
101
141
|
} else {
|
|
102
142
|
// If it has subviews, it means we are wanting to render a custom marker with arbitrary react views.
|
|
103
143
|
// if it has a non-null image, it means we want to render a custom marker with the image.
|
|
104
144
|
// In either case, we want to return the AIRMapMarker since it is both an MKAnnotation and an
|
|
105
145
|
// MKAnnotationView all at the same time.
|
|
106
146
|
self.layer.zPosition = self.zIndex;
|
|
147
|
+
self.zPriority = self.zIndex;
|
|
107
148
|
return self;
|
|
108
149
|
}
|
|
109
150
|
}
|
|
@@ -113,7 +154,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
113
154
|
// Set everything necessary on the calloutView before it becomes visible.
|
|
114
155
|
|
|
115
156
|
// Apply the MKAnnotationView's desired calloutOffset (from the top-middle of the view)
|
|
116
|
-
if ([self shouldUsePinView] && !_hasSetCalloutOffset) {
|
|
157
|
+
if ([self shouldUsePinView] && !_hasSetCalloutOffset && _useLegacyPinView) {
|
|
117
158
|
calloutView.calloutOffset = CGPointMake(-8,0);
|
|
118
159
|
} else {
|
|
119
160
|
calloutView.calloutOffset = self.calloutOffset;
|
|
@@ -158,12 +199,12 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
158
199
|
[self.map selectAnnotation:self animated:NO];
|
|
159
200
|
|
|
160
201
|
id event = @{
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
202
|
+
@"action": @"marker-select",
|
|
203
|
+
@"id": self.identifier ?: @"unknown",
|
|
204
|
+
@"coordinate": @{
|
|
205
|
+
@"latitude": @(self.coordinate.latitude),
|
|
206
|
+
@"longitude": @(self.coordinate.longitude)
|
|
207
|
+
}
|
|
167
208
|
};
|
|
168
209
|
|
|
169
210
|
if (self.map.onMarkerSelect) self.map.onMarkerSelect(event);
|
|
@@ -179,9 +220,9 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
179
220
|
// This is where we present our custom callout view... MapKit's built-in callout doesn't have the flexibility
|
|
180
221
|
// we need, but a lot of work was done by Nick Farina to make this identical to MapKit's built-in.
|
|
181
222
|
[self.map.calloutView presentCalloutFromRect:annotationView.bounds
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
223
|
+
inView:annotationView
|
|
224
|
+
constrainedToView:self.map
|
|
225
|
+
animated:YES];
|
|
185
226
|
}
|
|
186
227
|
|
|
187
228
|
#pragma mark - Tap Gesture & Events.
|
|
@@ -224,19 +265,19 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
224
265
|
}
|
|
225
266
|
|
|
226
267
|
id event = @{
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
268
|
+
@"action": calloutSubview ? @"callout-inside-press" : @"callout-press",
|
|
269
|
+
@"id": marker.identifier ?: @"unknown",
|
|
270
|
+
@"point": @{
|
|
271
|
+
@"x": @(touchPointReal.x),
|
|
272
|
+
@"y": @(touchPointReal.y),
|
|
273
|
+
},
|
|
274
|
+
@"frame": @{
|
|
275
|
+
@"x": @(bubbleFrame.origin.x),
|
|
276
|
+
@"y": @(bubbleFrame.origin.y),
|
|
277
|
+
@"width": @(bubbleFrame.size.width),
|
|
278
|
+
@"height": @(bubbleFrame.size.height),
|
|
279
|
+
}
|
|
280
|
+
};
|
|
240
281
|
|
|
241
282
|
if (calloutSubview) calloutSubview.onPress(event);
|
|
242
283
|
if (marker.onCalloutPress) marker.onCalloutPress(event);
|
|
@@ -247,14 +288,19 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
247
288
|
}
|
|
248
289
|
|
|
249
290
|
// the actual marker got clicked
|
|
291
|
+
CGPoint touchPointReal = [recognizer locationInView:self.calloutView];
|
|
250
292
|
id event = @{
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
293
|
+
@"action": @"marker-press",
|
|
294
|
+
@"id": marker.identifier ?: @"unknown",
|
|
295
|
+
@"coordinate": @{
|
|
296
|
+
@"latitude": @(marker.coordinate.latitude),
|
|
297
|
+
@"longitude": @(marker.coordinate.longitude)
|
|
298
|
+
},
|
|
299
|
+
@"position": @{
|
|
300
|
+
@"x": @(touchPointReal.x),
|
|
301
|
+
@"y": @(touchPointReal.y),
|
|
302
|
+
}
|
|
303
|
+
};
|
|
258
304
|
|
|
259
305
|
if (marker.onPress) marker.onPress(event);
|
|
260
306
|
if (marker.map.onMarkerPress) marker.map.onMarkerPress(event);
|
|
@@ -273,12 +319,12 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
273
319
|
[self.map deselectAnnotation:self animated:NO];
|
|
274
320
|
|
|
275
321
|
id event = @{
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
322
|
+
@"action": @"marker-deselect",
|
|
323
|
+
@"id": self.identifier ?: @"unknown",
|
|
324
|
+
@"coordinate": @{
|
|
325
|
+
@"latitude": @(self.coordinate.latitude),
|
|
326
|
+
@"longitude": @(self.coordinate.longitude)
|
|
327
|
+
}
|
|
282
328
|
};
|
|
283
329
|
|
|
284
330
|
if (self.map.onMarkerDeselect) self.map.onMarkerDeselect(event);
|
|
@@ -303,7 +349,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
303
349
|
|
|
304
350
|
- (void)setOpacity:(double)opacity
|
|
305
351
|
{
|
|
306
|
-
|
|
352
|
+
[self setAlpha:opacity];
|
|
307
353
|
}
|
|
308
354
|
|
|
309
355
|
- (void)setImageSrc:(NSString *)imageSrc
|
|
@@ -314,30 +360,35 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
314
360
|
_reloadImageCancellationBlock();
|
|
315
361
|
_reloadImageCancellationBlock = nil;
|
|
316
362
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
363
|
+
__weak __typeof(self) weakSelf = self;
|
|
364
|
+
|
|
365
|
+
_reloadImageCancellationBlock = [[[RCTBridge currentBridge] moduleForName:@"ImageLoader"] loadImageWithURLRequest:[RCTConvert NSURLRequest:_imageSrc]
|
|
366
|
+
size:self.bounds.size
|
|
367
|
+
scale:RCTScreenScale()
|
|
368
|
+
clipped:YES
|
|
369
|
+
resizeMode:RCTResizeModeCenter
|
|
370
|
+
progressBlock:nil
|
|
371
|
+
partialLoadBlock:nil
|
|
372
|
+
completionBlock:^(NSError *error, UIImage *image) {
|
|
373
|
+
if (error) {
|
|
374
|
+
// TODO(lmr): do something with the error?
|
|
375
|
+
NSLog(@"failed to load image: %@", error);
|
|
376
|
+
}
|
|
377
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
378
|
+
__strong __typeof(weakSelf) strongSelf = weakSelf;
|
|
379
|
+
strongSelf.image = image;
|
|
380
|
+
});
|
|
381
|
+
}];
|
|
333
382
|
}
|
|
334
383
|
|
|
335
384
|
- (void)setPinColor:(UIColor *)pinColor
|
|
336
385
|
{
|
|
337
386
|
_pinColor = pinColor;
|
|
338
387
|
|
|
339
|
-
if
|
|
388
|
+
if(_useLegacyPinView && [_pinView respondsToSelector:@selector(setPinTintColor:)]) {
|
|
340
389
|
_pinView.pinTintColor = _pinColor;
|
|
390
|
+
} else {
|
|
391
|
+
_markerView.markerTintColor = _pinColor;
|
|
341
392
|
}
|
|
342
393
|
}
|
|
343
394
|
|
|
@@ -349,7 +400,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
349
400
|
}
|
|
350
401
|
|
|
351
402
|
- (BOOL)isSelected {
|
|
352
|
-
|
|
403
|
+
return _isPreselected || [super isSelected];
|
|
353
404
|
}
|
|
354
405
|
|
|
355
406
|
- (void)dealloc {
|
|
@@ -361,5 +412,65 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
361
412
|
self.layer.zPosition = _zIndex;
|
|
362
413
|
}
|
|
363
414
|
}
|
|
415
|
+
- (void)layoutSubviews
|
|
416
|
+
{
|
|
417
|
+
[super layoutSubviews];
|
|
418
|
+
|
|
419
|
+
CGRect reactFrame = self.frame;
|
|
420
|
+
|
|
421
|
+
UIView *firstSubView = self.subviews.firstObject;
|
|
422
|
+
if (firstSubView && (CGRectGetWidth(firstSubView.frame) > CGRectGetWidth(reactFrame) ||
|
|
423
|
+
CGRectGetHeight(firstSubView.frame) > CGRectGetHeight(reactFrame))) {
|
|
424
|
+
reactFrame = firstSubView.frame;
|
|
425
|
+
}
|
|
426
|
+
[self reactSetFrame:reactFrame];
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
- (void)setUseLegacyPinView:(BOOL)value {
|
|
430
|
+
_useLegacyPinView = value;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
- (void)animateToCoordinate:(CLLocationCoordinate2D)newCoordinate duration:(NSTimeInterval)duration {
|
|
434
|
+
if (_isAnimating) {
|
|
435
|
+
NSLog(@"Animation already in progress. Rejecting new animation request.");
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// Mark as animating
|
|
440
|
+
_isAnimating = YES;
|
|
441
|
+
|
|
442
|
+
// Store animation parameters
|
|
443
|
+
_startCoordinate = self.coordinate;
|
|
444
|
+
_endCoordinate = newCoordinate;
|
|
445
|
+
_animationDuration = duration;
|
|
446
|
+
_animationStartTime = [NSDate timeIntervalSinceReferenceDate];
|
|
447
|
+
|
|
448
|
+
// Start a CADisplayLink
|
|
449
|
+
if (_displayLink) {
|
|
450
|
+
[_displayLink invalidate];
|
|
451
|
+
}
|
|
452
|
+
_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updatePosition)];
|
|
453
|
+
[_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
- (void)updatePosition {
|
|
457
|
+
NSTimeInterval elapsed = [NSDate timeIntervalSinceReferenceDate] - _animationStartTime;
|
|
458
|
+
CGFloat progress = MIN(elapsed / _animationDuration, 1.0);
|
|
459
|
+
|
|
460
|
+
// Interpolate coordinates
|
|
461
|
+
CLLocationDegrees currentLatitude = _startCoordinate.latitude + progress * (_endCoordinate.latitude - _startCoordinate.latitude);
|
|
462
|
+
CLLocationDegrees currentLongitude = _startCoordinate.longitude + progress * (_endCoordinate.longitude - _startCoordinate.longitude);
|
|
463
|
+
|
|
464
|
+
// Update annotation's coordinate
|
|
465
|
+
CLLocationCoordinate2D currentCoordinate = CLLocationCoordinate2DMake(currentLatitude, currentLongitude);
|
|
466
|
+
[self setValue:[NSValue valueWithMKCoordinate:currentCoordinate] forKey:@"coordinate"];
|
|
467
|
+
|
|
468
|
+
// Stop the animation when complete
|
|
469
|
+
if (progress == 1.0) {
|
|
470
|
+
[_displayLink invalidate];
|
|
471
|
+
_displayLink = nil;
|
|
472
|
+
_isAnimating = NO; // Reset the animation state
|
|
473
|
+
}
|
|
474
|
+
}
|
|
364
475
|
|
|
365
476
|
@end
|
|
@@ -46,6 +46,9 @@ RCT_EXPORT_VIEW_PROPERTY(draggable, BOOL)
|
|
|
46
46
|
RCT_EXPORT_VIEW_PROPERTY(zIndex, NSInteger)
|
|
47
47
|
RCT_EXPORT_VIEW_PROPERTY(opacity, double)
|
|
48
48
|
RCT_EXPORT_VIEW_PROPERTY(isPreselected, BOOL)
|
|
49
|
+
RCT_EXPORT_VIEW_PROPERTY(titleVisibility, NSString)
|
|
50
|
+
RCT_EXPORT_VIEW_PROPERTY(subtitleVisibility, NSString)
|
|
51
|
+
RCT_EXPORT_VIEW_PROPERTY(useLegacyPinView, BOOL)
|
|
49
52
|
|
|
50
53
|
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
51
54
|
RCT_EXPORT_VIEW_PROPERTY(onSelect, RCTDirectEventBlock)
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
- (void)setBoundsRect:(NSArray *)boundsRect {
|
|
51
51
|
_boundsRect = boundsRect;
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
_northEast = CLLocationCoordinate2DMake([boundsRect[0][0] doubleValue], [boundsRect[0][1] doubleValue]);
|
|
54
|
+
_southWest = CLLocationCoordinate2DMake([boundsRect[1][0] doubleValue], [boundsRect[1][1] doubleValue]);
|
|
55
55
|
|
|
56
56
|
MKMapPoint southWest = MKMapPointForCoordinate(_southWest);
|
|
57
57
|
MKMapPoint northEast = MKMapPointForCoordinate(_northEast);
|
|
@@ -123,56 +123,4 @@
|
|
|
123
123
|
return NO;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
126
|
@end
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
- (void)setCoordinates:(NSArray<AIRMapCoordinate *> *)coordinates {
|
|
72
72
|
_coordinates = coordinates;
|
|
73
|
-
CLLocationCoordinate2D coords
|
|
73
|
+
CLLocationCoordinate2D *coords = calloc(coordinates.count, sizeof(CLLocationCoordinate2D));
|
|
74
74
|
for(int i = 0; i < coordinates.count; i++)
|
|
75
75
|
{
|
|
76
76
|
coords[i] = coordinates[i].coordinate;
|
|
@@ -80,7 +80,8 @@
|
|
|
80
80
|
} else {
|
|
81
81
|
self.polyline = [MKPolyline polylineWithCoordinates:coords count:coordinates.count];
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
free(coords);
|
|
84
|
+
|
|
84
85
|
self.renderer = [self createRenderer];
|
|
85
86
|
[self update];
|
|
86
87
|
}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#import <React/UIView+React.h>
|
|
11
11
|
|
|
12
12
|
@implementation AIRMapWMSTile
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
- (void)createTileOverlayAndRendererIfPossible
|
|
15
15
|
{
|
|
16
16
|
if (!_urlTemplateSet) return;
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
|
|
53
53
|
@implementation AIRMapWMSTileOverlay
|
|
54
54
|
|
|
55
|
-
- (id)initWithURLTemplate:(NSString *)URLTemplate
|
|
55
|
+
- (id)initWithURLTemplate:(NSString *)URLTemplate
|
|
56
56
|
{
|
|
57
57
|
self = [super initWithURLTemplate:URLTemplate];
|
|
58
58
|
return self;
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
|
|
69
69
|
@implementation AIRMapWMSTileCachedOverlay
|
|
70
70
|
|
|
71
|
-
- (id)initWithURLTemplate:(NSString *)URLTemplate
|
|
71
|
+
- (id)initWithURLTemplate:(NSString *)URLTemplate
|
|
72
72
|
{
|
|
73
73
|
self = [super initWithURLTemplate:URLTemplate];
|
|
74
74
|
return self;
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
@end
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
@implementation AIRMapWMSTileHelper
|
|
85
|
+
@implementation AIRMapWMSTileHelper
|
|
86
86
|
+ (NSURL *)URLForTilePath:(MKTileOverlayPath)path withURLTemplate:(NSString *)URLTemplate withTileSize:(NSInteger)tileSize
|
|
87
87
|
{
|
|
88
88
|
NSArray *bb = [self getBoundBox:path.x yAxis:path.y zoom:path.z];
|
|
@@ -102,15 +102,15 @@
|
|
|
102
102
|
double MapY = 20037508.34789244;
|
|
103
103
|
double FULL = 20037508.34789244 * 2;
|
|
104
104
|
double tile = FULL / pow(2.0, (double)zoom);
|
|
105
|
-
|
|
105
|
+
|
|
106
106
|
NSArray *result =[[NSArray alloc] initWithObjects:
|
|
107
107
|
[NSNumber numberWithDouble:MapX + (double)x * tile],
|
|
108
108
|
[NSNumber numberWithDouble:MapY - (double)(y + 1) * tile],
|
|
109
109
|
[NSNumber numberWithDouble:MapX + (double)(x + 1) * tile],
|
|
110
110
|
[NSNumber numberWithDouble:MapY - (double)y * tile],
|
|
111
111
|
nil];
|
|
112
|
-
|
|
113
|
-
return result;
|
|
112
|
+
|
|
113
|
+
return result;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
@end
|
|
116
|
+
@end
|
|
@@ -855,4 +855,4 @@ static UIImage *blackArrowImage = nil, *whiteArrowImage = nil, *grayArrowImage =
|
|
|
855
855
|
- (CGFloat)frameBottom { return self.frame.origin.y + self.frame.size.height; }
|
|
856
856
|
- (void)setFrameBottom:(CGFloat)bottom { self.frame = (CGRect){ .origin=self.frame.origin, .size.width=self.frame.size.width, .size.height=fmaxf(bottom-self.frame.origin.y,0) }; }
|
|
857
857
|
|
|
858
|
-
@end
|
|
858
|
+
@end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNMapsGoogleMapView.h
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Salah Ghanim on 23.11.24.
|
|
6
|
+
// Copyright © 2024 react-native-maps. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
9
|
+
#include "RNMapsDefines.h"
|
|
10
|
+
|
|
11
|
+
#if HAVE_GOOGLE_MAPS == 0
|
|
12
|
+
|
|
13
|
+
#import <React/RCTViewComponentView.h>
|
|
14
|
+
#import <UIKit/UIKit.h>
|
|
15
|
+
|
|
16
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
17
|
+
|
|
18
|
+
@interface RNMapsGoogleMapView : RCTViewComponentView
|
|
19
|
+
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
NS_ASSUME_NONNULL_END
|
|
23
|
+
|
|
24
|
+
#endif
|
|
25
|
+
#endif
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNMapsGoogleMapView.mm
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Salah Ghanim on 23.11.24.
|
|
6
|
+
// Copyright © 2024 react-native-maps. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
#include "RNMapsDefines.h"
|
|
9
|
+
|
|
10
|
+
#if HAVE_GOOGLE_MAPS == 0
|
|
11
|
+
|
|
12
|
+
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
13
|
+
#import <ReactNativeMaps/generated/RNMapsHostVewDelegate.h>
|
|
14
|
+
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
15
|
+
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
16
|
+
#import <ReactNativeMaps/generated/Props.h>
|
|
17
|
+
#import <ReactNativeMaps/generated/RCTComponentViewHelpers.h>
|
|
18
|
+
#else
|
|
19
|
+
#import "../../generated/RNMapsSpecs/ComponentDescriptors.h"
|
|
20
|
+
#import "../../generated/RNMapsSpecs/EventEmitters.h"
|
|
21
|
+
#import "../../generated/RNMapsSpecs/Props.h"
|
|
22
|
+
#import "../../generated/RNMapsSpecs/RCTComponentViewHelpers.h"
|
|
23
|
+
#import "../../generated/RNMapsHostVewDelegate.h"
|
|
24
|
+
#endif
|
|
25
|
+
#import "RCTFabricComponentsPlugins.h"
|
|
26
|
+
#import <React/RCTConversions.h>
|
|
27
|
+
#import "PlaceHolderGoogleMapView.h"
|
|
28
|
+
|
|
29
|
+
using namespace facebook::react;
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@implementation RNMapsGoogleMapView
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
#pragma mark - JS Commands
|
|
36
|
+
- (void)animateToRegion:(NSString *)regionJSON duration:(NSInteger)duration{
|
|
37
|
+
}
|
|
38
|
+
- (void)setCamera:(NSString *)cameraJSON{
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
- (void)animateCamera:(NSString *)cameraJSON duration:(NSInteger)duration{
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
- (void)fitToElements:(NSString *)edgePaddingJSON animated:(BOOL)animated {
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
- (void)fitToSuppliedMarkers:(NSString *)markersJSON edgePaddingJSON:(NSString *)edgePaddingJSON animated:(BOOL)animated {
|
|
48
|
+
}
|
|
49
|
+
- (void)fitToCoordinates:(NSString *)coordinatesJSON edgePaddingJSON:(NSString *)edgePaddingJSON animated:(BOOL)animated {
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
- (void) setIndoorActiveLevelIndex:(NSInteger)activeLevelIndex
|
|
53
|
+
{
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
#pragma mark - Native commands
|
|
58
|
+
|
|
59
|
+
- (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args
|
|
60
|
+
{
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider
|
|
65
|
+
{
|
|
66
|
+
return concreteComponentDescriptorProvider<RNMapsGoogleMapViewComponentDescriptor>();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@end
|
|
71
|
+
|
|
72
|
+
Class<RCTComponentViewProtocol> RNMapsGoogleMapViewCls(void)
|
|
73
|
+
{
|
|
74
|
+
return RNMapsGoogleMapView.class;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#endif
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNMapsGoogleMapView.h
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Salah Ghanim on 23.11.24.
|
|
6
|
+
// Copyright © 2024 react-native-maps. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
9
|
+
#include "RNMapsDefines.h"
|
|
10
|
+
|
|
11
|
+
#if HAVE_GOOGLE_MAPS == 0
|
|
12
|
+
|
|
13
|
+
#import <React/RCTViewComponentView.h>
|
|
14
|
+
#import <UIKit/UIKit.h>
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
18
|
+
@interface RNMapsGooglePolygonView : RCTViewComponentView
|
|
19
|
+
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
NS_ASSUME_NONNULL_END
|
|
23
|
+
|
|
24
|
+
#endif
|
|
25
|
+
#endif
|