openLayers画轨迹图,引用jeojson文件数据

要求

项目要求画出地图上河流的流向。

实现

geoserver发布了河流的图层,描出了河流的点位。
导出geojson文件,拿到各个点的位置。
在地图上画出各个点。

静态轨迹

先画出地图,本项目采用的是天地图。
再叠加河流图层,绘制出各个点。

代码

//获取geojson文件的数据
axios.get('/json/bmskline.geojson').then(res => {
     
				
					let arr = res.data.features[0].geometry.coordinates[0]
					console.log('线数据', arr)
					this.addLine(arr)
				})
//画线
addLine(points) {
   
				const that = this;
				var lineArr = [];
				points.forEach((sub, index) => {
   
					lineArr.push([sub[0], sub[1]]);
				});
			
				var line = new Feature({
   
					geometry: new LineString(lineArr),
				});
				line.id = "line";
				var starPoint = new Feature(new Point([points[0][0], points[0][1]]));
				starPoint.name = "起";
				var endPoint = new Feature({
   
					geometry: new Point([
						points[points.length - 1][0],
						points[points.length - 1][1],
					]),
				});
				endPoint.name = "终";
				this.pointTranslation([points[0][0], points[0][1]]);
			
				var vector = new VectorLayer({
   
					source: new Vector({
   
						features: [starPoint, endPoint, line],
					}),
					zIndex: 10,
					style: function(feature) {
   
						var geometry;
						if (feature.id === "l
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值