深入浅出#
Hello AMap-React
属性和事件绑定
- 将 React 组件状态绑定到地图组件的属性
- 在 React 组件中响应地图组件的事件
自定义 Marker
- 使用 React 和 JSX 便捷地开发自定义样式的点标记
叠加显示卫星图/路况图
- 使用
SatelliteLayer
和TrafficLayer
- 通过
opacity
控制图层的透明度
受控组件
- 将地图作为受控组件使用
- 绑定
center
、zoom
、pitch
、rotation
属性 - 绑定
mapmove
、zoomchange
、dragging
等事件,同步上述属性的值
大量 LabelMarker
- 使用自定义组件,接管大量数据的生命周期
- 直接使用
AMap.LabelsLayer
和AMap.LabelMarker
渲染大量的数据
定位 GeoLocation
- 加载
AMap.GeoLocation
服务插件,用getCurrentLocation
方法获取当前定位点 - 使用
Marker
展示定位点,使用Circle
展示定位精度
自定义缩放按钮
- 使用
useAmap
获取AMap.Map
实例对象 - 使用
useAmapEvents
绑定事件,获取地图的缩放级别 - 实现缩放按钮,展示当前缩放级别,并自定义样式
搜索框
- 使用 Ant Design 构建 UI 组件
- 通过绝对定位来布置搜索框与搜索结果列表,让它们悬浮在地图之上
- 使用
AMap.DistrictSearch
服务插件实现城市选择器 - 使用
AMap.AutoComplete
服务插件实现搜索建议功能 - 使用
AMap.PlaceSearch
服务插件实现地点搜索
热力图 HeatMap
- 加载
AMap.HeatMap
插件,将数据以热力图方式展现
应用实例#
轨迹回放
- 使用自定义
Marker
实现小车图标 - 使用
Polyline
展示轨迹 - 通过
ref
获取点标记实例,调用moveAlong
方法让它沿着轨迹移动
小区排行
- 使用多个
Polygon
展示小区,根据排行为它们指定填充色 - 响应鼠标事件,让对应的小区高亮显示
- 使用
InfoWindow
显示选中小区的详情
各省GDP增速可视化
- 使用简易行政区图
<CountryLayer>
展现各省边界 - 根据各省GDP增速对省进行不同深浅的着色
- 使用
<LabelMarker>
展现各省名称
围栏绘制与编辑
- 响应鼠标事件,将点击的位置加入到多边形路径中
- 使用
PolygonEditor
编辑多边形 - 将围栏结果导出成 JSON
点聚合 MarkerCluster
- 加载
AMap.MarkerCluster
插件 - 通过 react-dom 使用 JSX 来自定义点聚合的标记点内容
GLCustomLayer + regl