openlayers--添加数据源

时间:2023-01-30
本文章向大家介绍openlayers--添加数据源,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

调用地图服务接口后,对接口返回值做处理--添加数据源

if(res.features.length) {
//获取--根据行政区代码查询对应行政区的中心点
let lons = res.features[0].properties.LON;
let lats = res.features[0].properties.LAT;
pagemap.getView().setCenter([lons,lats])
if(res.features && res.features.length > 0) {
let { features } = res
  //边界的点位数组---中心点点位的数组
let polygonFeatures = [], pointFeatures = []
//叠加边界以及数量
features.map(feature => {
//绘制边界
let rings = feature.geometry.coordinates[0]
let featurePolygon = new ol.geom.Polygon(rings)
let _feature = new ol.Feature({geometry: featurePolygon})
    //featureStyle 边界线以及边界内容的样式
_feature.setStyle(this.featureStyle()['sourceData'])
polygonFeatures.push(_feature)

//绘制中心点文字
let pointCenter = [feature.properties.LON,feature.properties.LAT];
let featurePoint = new ol.geom.Point(pointCenter)
let pointFeature = new ol.Feature({
geometry: featurePoint,
name: data.value,
});
    //createPointStyle 中心点的图文标注样式设置
pointFeature.setStyle(this.createPointStyle(pointFeature));
})
//乡镇排名叠加火情点
if(this.paimingArr){
this.paimingArr.map(item=>{
let pointFireCenter = [Number(item.longitude),Number(item.latitude)];
let featureFirePoint = new ol.geom.Point(pointFireCenter)
let pointFireFeature = new ol.Feature({
geometry: featureFirePoint,
name: item.towername,
});
     //createImgStyle 行政区内所有点位的图文标注样式设置
pointFireFeature.setStyle(this.createImgStyle(pointFireFeature));
pointFireFeature.set('monthFireInfo',item);
pointFeatures.push(pointFireFeature)
})
}
this.addVectorLayers(pointFeatures)
this.clickToPop();
}
}

原文地址:https://www.cnblogs.com/kaoo-kiee/p/17077092.html