|
|
6 лет назад | |
|---|---|---|
| __tests__ | 7 лет назад | |
| lib | 7 лет назад | |
| .eslintrc | 7 лет назад | |
| .gitignore | 7 лет назад | |
| Common.ts | 7 лет назад | |
| README.md | 7 лет назад | |
| Utils.ts | 7 лет назад | |
| index.ts | 6 лет назад | |
| package.json | 7 лет назад | |
| tsconfig.json | 7 лет назад | |
| yarn.lock | 7 лет назад |
根据 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 {};
}