|
|
@@ -1 +1,67 @@
|
|
|
-根据 plan-request 产生 amap 的图形
|
|
|
+根据 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 {};
|
|
|
+}
|