写在前面
在React Native 地图组件选择中我做了很多尝试,以下是我的一些建议和总结。
1.react-native-maps 对iOS十分友好,但是对android并不友好,需要google play支持。
2.react-native-amap3d 国内优秀开源库基于高德地图SDK,无条件支持,但是在遇到复杂需求时就会比较鸡肋,如自定义瓦片图层、大量数据渲染卡顿等
3.react-native-mapbox-gl 弥补了上面的缺点,而且拓展性非常高,也是这篇文章主要要写的。
GeoJSON
什么是GeoJSON?
使用mapbox不得不先了解以下GeoJSON格式规范,首先po个对比,
使用第1,2个库时,我们渲染多个坐标点可能是这样的,使用类似的组件通过数组遍历并渲染,一个点需要一个
//数据
const data = [
{coordinate:[100.0, 0.0]]},
{coordinate:[101.0, 1.0]]},
{coordinate:[100.1, 1.0]]},
{coordinate:[101.1, 0.0]]},
]
//组件
{data.map(marker=>{
return (
...props
coordinate={marker.coordinate}
/>
)
})}
使用mapbox-gl时思想完全变了,
这