openlayers3基础点线面添加

// 单个点
var ces = new ol.source.Vector();
cesguan = new ol.Feature({
geometry: new ol.geom.Point([113.7538, 31.0008]),
});
ces.addFeature(cesguan);
cesLayer1 = new ol.layer.Vector({
source: ces,
style: new ol.style.Style({
image: new ol.style.Icon({
// color:’#4271AE’,
src: ‘images/dian.png’
}),
text: new ol.style.Text({
textAlign: ‘left’,
textBaseline: ‘bottom’,
font: ‘normal 14px Arial’,
fill: new ol.style.Fill({ color: ‘#fff’ }),
stroke: new ol.style.Stroke({ color: ‘blue’, width: 1 }),
offsetX: 10,
offsetY: 30,
rotation: 0,
})
})
});
map.addLayer(cesLayer1);
// 多个点
// 坐标
var lnglats = [
[116.963, 36.623],
[116.980, 36.620],
[116.999, 36.640],
[117.029, 36.639],
[117.055, 36.643],
[117.168, 36.659]
]
// 创建Feature对象集合
var feature1 = [];
for(var i = 0; i< lnglats.length;i++){
feature1.push(new ol.Feature({
geometry: new ol.geom.Point(lnglats[i]),
}));
}
ces = new ol.source.Vector({
features: feature1
})
cesLayer1 = new ol.layer.Vector({
source: ces,
});
map.addLayer(cesLayer1);

//画线
var ces = new ol.source.Vector();
cesguan = new ol.Feature({
geometry: new ol.geom.LineString([[113.7538, 31.0008], [113.7538, 33.0008]])
});
ces.addFeature(cesguan);
cesLayer1 = new ol.layer.Vector({
source: ces,
});
map.addLayer(cesLayer1);
//画面
var ces = new ol.source.Vector();
cesguan = new ol.Feature({
geometry: new ol.geom.Polygon([[[113.7538, 31.0008], [113.7538, 31.0108], [113.7528, 31.0108],[113.7538, 31.0008]]])
});
ces.addFeature(cesguan);
cesLayer1 = new ol.layer.Vector({
source: ces,
});
map.addLayer(cesLayer1);

OpenLayers是一个开源的JavaScript库,用于在Web地图上显示点、线和面等地理要素。它提供了丰富的功能和交互性,可以轻松地创建交互式地图应用程序。 要在OpenLayers中显示点、线和面,你需要以下几个步骤: 1. 创建地图容器:在HTML页面中创建一个用于显示地图的容器元素,例如一个div元素。 2. 初始化地图对象:使用OpenLayers的Map类初始化一个地图对象,并将其绑定到地图容器上。 3. 添加图层:创建一个或多个图层对象,并将其添加到地图对象中。可以使用OpenLayers提供的不同类型的图层,如TileLayer(瓦片图层)或VectorLayer(矢量图层)。 4. 创建要素:根据需要创建点、线和面等地理要素对象。可以使用OpenLayers的Feature类来创建这些要素,并设置它们的几何形状、样式和属性等信息。 5. 添加要素到图层:将创建的要素对象添加到对应的图层中。可以使用图层的addFeatures方法将要素添加到图层中。 6. 渲染地图:调用地图对象的render方法,将地图渲染到指定的容器中。 下面是一个简单的示例代码,展示如何在OpenLayers中显示点、线和面: ```javascript // 创建地图容器 var mapContainer = document.getElementById('map'); // 初始化地图对象 var map = new ol.Map({ target: mapContainer, layers: [ // 添加图层 new ol.layer.Tile({ source: new ol.source.OSM() // 使用OpenStreetMap作为底图 }) ], view: new ol.View({ center: ol.proj.fromLonLat([0, 0]), // 设置地图中心点 zoom: 10 // 设置地图缩放级别 }) }); // 创建点要素 var pointFeature = new ol.Feature({ geometry: new ol.geom.Point(ol.proj.fromLonLat([10, 10])), // 设置点的坐标 name: 'Point' // 设置点的属性 }); // 创建线要素 var lineFeature = new ol.Feature({ geometry: new ol.geom.LineString([ ol.proj.fromLonLat([20, 20]), ol.proj.fromLonLat([30, 30]) ]), // 设置线的坐标 name: 'Line' // 设置线的属性 }); // 创建面要素 var polygonFeature = new ol.Feature({ geometry: new ol.geom.Polygon([ [ ol.proj.fromLonLat([40, 40]), ol.proj.fromLonLat([50, 40]), ol.proj.fromLonLat([50, 50]), ol.proj.fromLonLat([40, 50]), ol.proj.fromLonLat([40, 40]) ] ]), // 设置面的坐标 name: 'Polygon' // 设置面的属性 }); // 创建矢量图层 var vectorLayer = new ol.layer.Vector({ source: new ol.source.Vector(), // 创建一个空的矢量数据源 style: new ol.style.Style({ // 设置要素的样式 image: new ol.style.Circle({ radius: 6, fill: new ol.style.Fill({ color: 'red' }), stroke: new ol.style.Stroke({ color: 'white', width: 2 }) }), stroke: new ol.style.Stroke({ color: 'blue', width: 2 }), fill: new ol.style.Fill({ color: 'rgba(0, 0, 255, 0.1)' }) }) }); // 将要素添加到矢量图层 vectorLayer.getSource().addFeatures([pointFeature, lineFeature, polygonFeature]); // 将矢量图层添加到地图 map.addLayer(vectorLayer); // 渲染地图 map.render(); ``` 这是一个简单的示例,你可以根据自己的需求进行更复杂的配置和样式设置。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值