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