根据 plan-request 产生 amap 的图形 ``` //获取selector export function getShapesSelector(airspaceInfos, setStyle, currentAirspaceIndex) { currentAirspaceIndex = currentAirspaceIndex ? currentAirspaceIndex : () => -1; let circles = getCircleSelector(airspaceInfos, setStyle, currentAirspaceIndex); let lineAndMarkers = getLineAndMarkerSelector(airspaceInfos, setStyle, currentAirspaceIndex); let lines = getLineSelector(lineAndMarkers); let polygonAndMarkers = getPolygonAndMarkerSelector(airspaceInfos, setStyle, currentAirspaceIndex); let polygons = getPolygonSelector(polygonAndMarkers); let markers = getMarkerSelector(polygonAndMarkers, lineAndMarkers); let regionPoints = getRegionPointsSelector(circles, lineAndMarkers, polygonAndMarkers); return { markers, circles, lines, polygons, regionPoints } } //获取数组 export function getShapes(airspaceInfos, setStyle, currentAirspaceIndex) { currentAirspaceIndex = currentAirspaceIndex ? currentAirspaceIndex : () => -1; let circles = getCircles(airspaceInfos, setStyle, currentAirspaceIndex); let lineAndMarkers = getLinesAndMarkers(airspaceInfos, setStyle, currentAirspaceIndex); let lines = getLines(lineAndMarkers); let polygonAndMarkers = getPolygonsAndMarkers(airspaceInfos, setStyle, currentAirspaceIndex); let polygons = getPolygons(getPolygonsAndMarkers); let markers = getMarkers(polygonAndMarkers, lineAndMarkers); let regionPoints = getRegionPoints(circles, lineAndMarkers, polygonAndMarkers); return { markers, circles, lines, polygons, regionPoints } } //其中currentAirspaceIndex没有可以不传,setStyle为方法,需要为每个shape设置样式,实例如下: function setStyle(shapeName) { if ('circle' === shapeName) { return { lineWidth:2, strokeColor:'#123', fillColor:'#123' } } if ('line' === shapeName) { return { lineWidth:2, strokeColor:'#123', imageName:'BA_oval' // marker's name } } if ('polygon' === shapeName) { return { lineWidth:2, strokeColor:'#123', fillColor:'#123', imageName:'BA_oval' // marker's name } } return {}; } ```