openlayers3画线画点


一、画点
(1)单个点
//1.创建Featrue,设置geometry属性
var saoguan = new ol.Feature({
geometry:new ol.geom.Point(ol.proj.fromLonLat([arrx,arry]))
});
//2.设置此点的样式
saoguan.setStyle(new ol.style.Style({
image:new ol.style.Icon({
color:’white’,
src:’../images/img182.png’
})
}))
//3.传入source
var source = new ol.source.Vector({
features:[saoguan]
});
//4.传入layer,设置点
var layer = new ol.layer.Vector({
source: source
});
//5.设置底图layer
var rasterLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
url:’http://www.google.cn/maps/vt/pb=!1m4!1m3!1i{z}!2i{x}!3i{y}!2m3!1e0!2sm!3i345013117!3m8!2szh-CN!3scn!5e1105!12m4!1e68!2m2!1sset!2sRoadmap!4e0’
})
});
//6.最后将地图layer和点layer一并传入map中
var map = new ol.Map({
layers: [layer],
target: document.getElementById(‘rcp1_map’),
view: new ol.View({
center: ol.proj.fromLonLat(PlanAirLine[0]),
zoom: 3,
minZoom: 2,
maxZoom: 13,
}),
controls: ol.control.defaults({
attribution: false
}),
});
二、一组点一组线
iP.init=function(PlanAirLine,RealAirLine,arrx,arry){
var PlanAirPoint=[],RealAirPoint=[];
//计划航线、实际航线点数组
for (i = 0, ii = PlanAirLine.length; i < ii; ++i) {
PlanAirPoint.push(
new ol.Feature({
geometry:new ol.geom.Point(ol.proj.fromLonLat(PlanAirLine[i])),
})
)
PlanAirPoint[i].setStyle(new ol.style.Style({
image:new ol.style.Icon({
color:’white’,
src:’../images/img167.png’
})
}))
}
if(RealAirLine==[]){
}else{
for (i = 0, ii = RealAirLine.length; i < ii; ++i) {
RealAirPoint.push(
new ol.Feature({
geometry:new ol.geom.Point(ol.proj.fromLonLat(RealAirLine[i])),
})
)
RealAirPoint[i].setStyle(new ol.style.Style({
image:new ol.style.Icon({
color:’white’,
src:’../images/img166.png’
})
}))
}
}
//1.创建Featrue,设置geometry属性
var saoguan = new ol.Feature({
geometry:new ol.geom.Point(ol.proj.fromLonLat([arrx,arry]))
});
//2.设置此点的样式
saoguan.setStyle(new ol.style.Style({
image:new ol.style.Icon({
color:’white’,
src:’../images/img182.png’
})
}))
//1.设置一个feature
var geom = new ol.geom.LineString(PlanAirLine);
var geom2 = new ol.geom.LineString(RealAirLine);
geom.transform(‘EPSG:4326’, ‘EPSG:3857’);
geom2.transform(‘EPSG:4326’, ‘EPSG:3857’);
var feature = new ol.Feature({
geometry:geom
});
var feature2 = new ol.Feature({
geometry:geom2
});
//2.设置style
feature.setStyle(new ol.style.Style({
stroke: new ol.style.Stroke({
width: 2,
color:[2,87,189,.5]
})
}));
feature2.setStyle(new ol.style.Style({
stroke: new ol.style.Stroke({
width: 2,
color:[255, 0, 0, .5]
})
}));
//3.传入source
var source = new ol.source.Vector({
features:[feature,saoguan,feature2]
});
var source2 = new ol.source.Vector({
features:PlanAirPoint
});
var source3 = new ol.source.Vector({
features:RealAirPoint
});
//4.传入layer,设置点
var layer = new ol.layer.Vector({
source: source
});
var layer2 = new ol.layer.Vector({
source: source2
});
var layer3 = new ol.layer.Vector({
source: source3
});

    //5.设置底图layer
    var rasterLayer =  new ol.layer.Tile({   
           //source: new ol.source.OSM(),
          // title: "天地图路网", 
          // source: new ol.source.XYZ({
                // url: "http://t4.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}"
          // })
          // source: new ol.source.BingMaps({  
                // key: 'AkjzA7OhS4MIBjutL21bkAop7dc41HSE0CNTR5c6HJy8JKc7U9U9RveWJrylD3XJ',  
                // imagerySet: 'Road'  
            // })  
          // source: new ol.source.Stamen({  
                // layer: 'watercolor'  
          // })  
            source: new ol.source.XYZ({  
                url:'http://www.google.cn/maps/vt/pb=!1m4!1m3!1i{z}!2i{x}!3i{y}!2m3!1e0!2sm!3i345013117!3m8!2szh-CN!3scn!5e1105!12m4!1e68!2m2!1sset!2sRoadmap!4e0'  
            })     


       });
    //6.最后将地图layer和点layer一并传入map中
    var map = new ol.Map({  
      layers: [rasterLayer,layer,layer2,layer3],  
      target: document.getElementById('rcp1_map'),  
      view: new ol.View({  
        center: ol.proj.fromLonLat(PlanAirLine[0]),  
        zoom: 3,
        minZoom: 2,
        maxZoom: 13, 
       }), 
        controls: ol.control.defaults({ 
          attribution: false
        }),  
    });
      var tian_di_tu_annotation = new ol.layer.Tile({
        title: "天地图文字标注",
        source: new ol.source.XYZ({
            url: 'http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}'
        })
     });
     //map.addLayer(tian_di_tu_annotation);
    }

转载自:https://blog.csdn.net/BoBoLUI/article/details/52919139

You may also like...