mirror of https://gitee.com/antv-l7/antv-l7
702 lines
9.6 KiB
TypeScript
702 lines
9.6 KiB
TypeScript
import { LineLayer, Scene } from '@antv/l7';
|
|
import { GaodeMap } from '@antv/l7-maps';
|
|
import * as React from 'react';
|
|
|
|
const data = [
|
|
{
|
|
n: '南路',
|
|
lnglat: [115.789286, 28.552708],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.789273, 28.553421],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.789337, 28.558138],
|
|
},
|
|
{
|
|
n: '大岗',
|
|
lnglat: [115.789363, 28.56059],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.789332, 28.563834],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.789337, 28.563947],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.789343, 28.564178],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.789353, 28.564249],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.789439, 28.565144],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.790002, 28.568079],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.790684, 28.571047],
|
|
},
|
|
|
|
{
|
|
n: '生米',
|
|
lnglat: [115.790844, 28.571832],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.791392, 28.574256],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.792052, 28.576215],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.793023, 28.578778],
|
|
},
|
|
{
|
|
n: '九龙湖南',
|
|
lnglat: [115.793023, 28.578778],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.793827, 28.580743],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.793876, 28.580964],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.794412, 28.584275],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.795142, 28.589066],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.795903, 28.592264],
|
|
},
|
|
|
|
{
|
|
n: '市民中心',
|
|
lnglat: [115.79619, 28.593435],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.796526, 28.594803],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.796633, 28.595185],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.796767, 28.595491],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.79696, 28.595858],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.798301, 28.597959],
|
|
},
|
|
{
|
|
n: '鹰潭街',
|
|
lnglat: [115.799006, 28.599043],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.802067, 28.603936],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.802153, 28.604185],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.802223, 28.604416],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.802244, 28.60467],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.802239, 28.604854],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.80218, 28.605005],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.802078, 28.605155],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.801858, 28.605381],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.801552, 28.605603],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.801193, 28.605815],
|
|
},
|
|
|
|
{
|
|
n: '国博',
|
|
lnglat: [115.79587, 28.608219],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.789761, 28.610943],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.789375, 28.611136],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.789192, 28.611268],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.788801, 28.611659],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.78857, 28.611956],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.788372, 28.612281],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.788157, 28.612968],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.788114, 28.613194],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.788093, 28.613684],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.788195, 28.61416],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.788522, 28.614852],
|
|
},
|
|
{
|
|
n: '西站南广场',
|
|
lnglat: [115.790539, 28.618386],
|
|
},
|
|
{
|
|
n: '南昌西站',
|
|
lnglat: [115.793362, 28.623431],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.794101, 28.624802],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.794273, 28.625108],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.794407, 28.625268],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.794616, 28.625466],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.795018, 28.625786],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.795598, 28.626022],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.796161, 28.62605],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.796649, 28.625956],
|
|
},
|
|
|
|
{
|
|
n: '龙岗',
|
|
lnglat: [115.802987, 28.623161],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.811584, 28.619359],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.812592, 28.619217],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.813676, 28.619321],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.81455, 28.619533],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.814867, 28.619702],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.815231, 28.619966],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.815398, 28.620178],
|
|
},
|
|
{
|
|
n: '国体中心',
|
|
lnglat: [115.816739, 28.622378],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.821454, 28.630396],
|
|
},
|
|
{
|
|
n: '卧龙山',
|
|
lnglat: [115.822477, 28.631606],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.824088, 28.633306],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.827655, 28.636569],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.828578, 28.637637],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.829125, 28.638508],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.82978, 28.639944],
|
|
},
|
|
{
|
|
n: '岭北',
|
|
lnglat: [115.830145, 28.641038],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.83148, 28.645264],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.832676, 28.647915],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.833519, 28.649393],
|
|
},
|
|
|
|
{
|
|
n: '前湖大道',
|
|
lnglat: [115.834939, 28.651869],
|
|
},
|
|
{
|
|
n: '学府大道东',
|
|
lnglat: [115.839123, 28.659244],
|
|
},
|
|
{
|
|
n: '翠苑路',
|
|
lnglat: [115.846675, 28.67262],
|
|
},
|
|
|
|
{
|
|
n: '地铁大厦',
|
|
lnglat: [115.852386, 28.684076],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.854048, 28.686417],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.854794, 28.688695],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.855159, 28.689706],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.855572, 28.690403],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.856296, 28.691259],
|
|
},
|
|
|
|
{
|
|
n: '雅苑路',
|
|
lnglat: [115.857386, 28.692061],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.85937, 28.693306],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.863087, 28.694582],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.863404, 28.694572],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.863983, 28.69452],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.864509, 28.69437],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.865056, 28.694012],
|
|
},
|
|
{
|
|
n: '红谷中大道',
|
|
lnglat: [115.867006, 28.691703],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.869128, 28.689165],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.869562, 28.688873],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.870023, 28.688713],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.882029, 28.686248],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.882624, 28.686233],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.883231, 28.686299],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.885452, 28.68733],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.886315, 28.687598],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.887442, 28.687669],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.889555, 28.687777],
|
|
},
|
|
|
|
{
|
|
n: '阳明公园',
|
|
lnglat: [115.891286, 28.687954],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.894791, 28.688233],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.900021, 28.687753],
|
|
},
|
|
|
|
{
|
|
n: '青山路口',
|
|
lnglat: [115.901382, 28.686738],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.902832, 28.68548],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.903202, 28.684765],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.903251, 28.683852],
|
|
},
|
|
|
|
{
|
|
n: '福州路',
|
|
lnglat: [115.903284, 28.680642],
|
|
},
|
|
{
|
|
n: '八一广场',
|
|
lnglat: [115.902665, 28.67514],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.903379, 28.672778],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.90375, 28.6689],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.903884, 28.668415],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.904002, 28.668166],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.904275, 28.66785],
|
|
},
|
|
{
|
|
n: '永叔路',
|
|
lnglat: [115.90533, 28.666803],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.907757, 28.664447],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.908218, 28.664296],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.909339, 28.664226],
|
|
},
|
|
{
|
|
n: '丁公路南',
|
|
lnglat: [115.910889, 28.664118],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.916538, 28.663567],
|
|
},
|
|
|
|
{
|
|
n: '南昌火车站',
|
|
lnglat: [115.921001, 28.663184],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.922766, 28.663143],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.924236, 28.663313],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.925996, 28.663576],
|
|
},
|
|
{
|
|
n: '顺外',
|
|
lnglat: [115.928124, 28.663683],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.929933, 28.663718],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.931575, 28.663332],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.932991, 28.662979],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.933635, 28.662898],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.937873, 28.662851],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.938457, 28.662724],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.938897, 28.6624],
|
|
},
|
|
|
|
{
|
|
n: '',
|
|
lnglat: [115.939203, 28.661934],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.939391, 28.661505],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.939503, 28.661082],
|
|
},
|
|
{
|
|
n: '',
|
|
lnglat: [115.93953, 28.660663],
|
|
},
|
|
|
|
{
|
|
n: '辛家庵',
|
|
lnglat: [115.93957, 28.659337],
|
|
},
|
|
];
|
|
|
|
export default class MultiLine extends React.Component {
|
|
private scene: Scene;
|
|
|
|
public componentWillUnmount() {
|
|
this.scene.destroy();
|
|
}
|
|
|
|
public async componentDidMount() {
|
|
const scene = new Scene({
|
|
id: 'map',
|
|
map: new GaodeMap({
|
|
pitch: 50,
|
|
style: 'light',
|
|
center: [115.857963, 28.683016],
|
|
zoom: 14,
|
|
minZoom: 9,
|
|
rotation: 0,
|
|
}),
|
|
});
|
|
|
|
const lineData = {
|
|
type: 'FeatureCollection',
|
|
features: [],
|
|
};
|
|
|
|
const p = {
|
|
type: 'Feature',
|
|
properties: {},
|
|
geometry: { type: 'LineString', coordinates: [] },
|
|
};
|
|
|
|
data.forEach((item) => {
|
|
// @ts-ignore
|
|
p.geometry.coordinates.push(item.lnglat as number[]);
|
|
});
|
|
// @ts-ignore
|
|
lineData.features.push(p);
|
|
|
|
const layer = new LineLayer({})
|
|
.source(lineData)
|
|
.size([2, 3])
|
|
.shape('line')
|
|
.color('rgb(255, 187, 0)');
|
|
scene.addLayer(layer);
|
|
}
|
|
|
|
public render() {
|
|
return (
|
|
<div
|
|
id="map"
|
|
style={{
|
|
position: 'absolute',
|
|
top: 0,
|
|
left: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
}}
|
|
/>
|
|
);
|
|
}
|
|
}
|