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