|
|
před 6 roky | |
|---|---|---|
| __tests__ | před 7 roky | |
| lib | před 7 roky | |
| .eslintrc | před 7 roky | |
| .gitignore | před 7 roky | |
| Common.ts | před 7 roky | |
| README.md | před 7 roky | |
| Utils.ts | před 7 roky | |
| index.ts | před 6 roky | |
| package.json | před 7 roky | |
| tsconfig.json | před 7 roky | |
| yarn.lock | před 7 roky |
根据 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 {};
}