react-native-maps for Web.
react-native-web-maps
allow you to using react-native-maps
seamlessly on the web, it base on @react-google-maps/api.
npm i @preflower/react-native-web-maps
webpack.config.js
module.exports = {
...
resolve: [
alias: [
...
'react-native': 'react-native-web',
+ /* set alias from react-native-maps to @preflower/react-native-web-maps */
+ 'react-native-maps': '@preflower/react-native-web-maps'
]
]
}
App.web.tsx/jsx
<!-- Before use Google Maps, you need to initialize it first -->
import { LoadScript } from '@preflower/react-native-web-maps'
const App = () => {
return (
<LoadScript googleMapsApiKey="...">
...content
</LoadScript>
)
}
react-native-web-maps
only override 👇 components, and export all other @react-google-maps/api
apis
Prop |
Support |
Note |
region |
⭕️ |
|
initialRegion |
⭕️ |
|
mapType |
⭕️ |
|
customMapStyle |
⭕️ |
|
zoomEnabled |
½⭕️ |
different with react-native-maps, gesture (scroll and zoom) will be blocked when false |
zoomTapEnabled |
⭕️ |
|
zoomControlEnabled |
⭕️ |
|
minZoomLevel |
⭕️ |
|
maxZoomLevel |
⭕️ |
|
Event |
Support |
onMapReady |
⭕️ |
onRegionChange |
⭕️ |
onRegionChangeComplete |
⭕️ |
onPress |
⭕️ |
onDoublePress |
⭕️ |
onPanDrag |
⭕️ |
Method |
Support |
getCamera |
⭕️ |
animateCamera |
⭕️ |
setCamera |
⭕️ |
animateToRegion |
⭕️ |
Prop |
Support |
Note |
image |
⭕️ |
consistent with icon property |
icon |
⭕️ |
consistent with image property |
coordinate |
⭕️ |
|
anchor |
⭕️ |
|
draggable |
⭕️ |
|
opacity |
⭕️ |
|
Event |
Support |
onPress |
⭕️ |
onDrag |
⭕️ |
onDragStart |
⭕️ |
onDragEnd |
⭕️ |
Prop |
Support |
Note |
coordinates |
⭕️ |
|
strokeWidth |
⭕️ |
|
strokeColor |
⭕️ |
|
fillColor |
⭕️ |
|
geodesic |
⭕️ |
|
tappable |
⭕️ |
|
Prop |
Support |
Note |
coordinates |
⭕️ |
|
strokeWidth |
⭕️ |
|
strokeColor |
⭕️ |
|
geodesic |
⭕️ |
|
tappable |
⭕️ |
|
- In addition to
style
, other style property (such as mapContainerStyle
) not support React-Native StyleSheet, because react-native-web convert it into class, it will result exception
At present, library is only used by myself, so i only developed the features that i needed,
if someone needs feature that currently not supported, please commit issue or PR to let me know.
MIT