Repository navigation
munim-maps 0.3.0
Added
MunimMapViewis now a full MapKit map, so apps no longer need react-native-maps on iOS: markers (pins, balloons with glyphs, images, round avatars with ring and corner badges, label pills, dots) with clustering, dragging, callouts and z-order; polylines (dashed, geodesic), polygons with holes, circles and tile overlays; point-of-interest filters, traffic, compass, scale, user location and tracking modes, gesture switches, camera distance limits and boundaries, map padding and tappable map features.MunimMapViewevents and methods:onMapReady,onPress,onLongPress,onCameraMove,onCameraChange, marker and callout events,onUserLocationChange,onMapFeaturePress;setCamera,animateCamera,getCamera,setRegion,getVisibleRegion,fitToCoordinates,fitToMarkers,pointForCoordinate,coordinateForPoint,selectMarker,deselectMarker,takeSnapshot,addressForCoordinate,hasLookAround,openLookAround.globe: the standard map becomes a globe when zoomed far out, like Apple Maps. It uses a MapKit switch that is not public API; see the README.- Models, labels, stems and zones are placed on the sphere whenever MapKit draws a globe (the standard map with
globe, orhybrid/imagerywith realistic elevation), and hidden when they go round the far side. paths: lines drawn in 3D, a fixed number of points wide, at any height and on the globe (orbits, flight paths). They also work over react-native-maps.occlusion="buildings": models are hidden behind buildings, using OpenStreetMap footprints and heights from vector tiles around the camera (OpenFreeMap by default, orbuildingTilesUrl). Avatars, labels and stems stay visible.- glTF 2.0 models (
.glb,.gltf): PBR materials and textures, skins and the first animation, from bundles, URLs (with their buffers and images) or files. PLY, STL and Alembic files load through Model I/O alongside OBJ. effect: particle effects,exhaust(a methane engine plume with shock diamonds, sized to the model and stopping at the ground),smoke(a launch-pad cloud) andcontrail(trails left in the sky), witheffectIntensityto throttle them.occluder: a model that draws nothing but hides other models behind it, for stand-ins such as a bridge's railings and towers.effectOrigins: where an effect starts on a model, such as one contrail per engine.motionon models andflyCameraonMunimMapView: keyframes interpolated natively every frame on one shared clock, so moving models and camera moves stay smooth and locked to the map whatever JavaScript is doing.animateCameranow steps the camera the same way instead of a UIKit animation, during which MapKit reported the destination camera and models slid.- The four fighter jets are rebuilt from measured three-view drawings, with intakes, control surfaces, nozzles, canopies, camouflage and markings.
- Seven spacecraft in the vehicle catalogue: the ISS, a Starlink satellite, Hubble, a GPS III satellite, a 3U CubeSat, Crew Dragon and the James Webb Space Telescope.
- Starbase:
starbase-tower(the launch tower with its chopsticks and quick-disconnect arm) andstarbase-mount(the orbital launch mount), and a rebuiltrocket-starshipwith grid fins, chines, the hot-staging ring, 33 Raptors and the ship's heat shield and flaps (57 models). realisticElevationonMapModelLayer: keeps a map library's flat style on realistic elevation.- Swift Package Manager: the
MunimMapsandMunimMapsVehiclesproducts bringMunimMapKitView, the SwiftUIMunimMapandMunimModelLayerto native apps without React Native. - Example: satellites orbiting the globe (
munimmapsexample://orbit), cities on the globe, scripted demo shots (munimmapsexample://demo/<shot>, with traffic on real Chicago streets from OpenStreetMap and a GLB sample), and globe checks in the self-test.
Fixed
- Badges longer than the picture (
Floor 103) were cut off; the badge now widens to fit. - Geodesic polylines crashed:
MKGeodesicPolyline's initialiser never returns a subclass, so the overlay's own properties were written past the end of the object.
Install
npx expo install munim-maps react-native-nitro-modulesOr in Swift, add https://github.com/munimtechnologies/munim-maps with Swift Package Manager.
The demo video (munim-maps-demo.mp4) is attached; every shot was recorded on an iPhone 17 Pro.