openlayers 根据经纬度画轨迹
时间: 2023-07-28 12:25:17 浏览: 107
openlayers画轨迹
4星 · 用户满意度95%
要根据经纬度画轨迹,可以使用OpenLayers的Vector图层和LineString几何图形。以下是一个简单的示例代码:
```javascript
// 创建地图
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.fromLonLat([116.39, 39.9]),
zoom: 10
})
});
// 创建一个Vector图层
var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector()
});
map.addLayer(vectorLayer);
// 经纬度数组
var coords = [
[116.39, 39.9],
[116.4, 39.91],
[116.42, 39.92]
];
// 创建LineString几何图形
var lineString = new ol.geom.LineString(coords).transform('EPSG:4326', 'EPSG:3857');
// 创建Feature并添加到Vector图层
var feature = new ol.Feature(lineString);
vectorLayer.getSource().addFeature(feature);
```
在上面的示例中,我们首先创建了一个地图,并且添加了一个OSM图层。然后,我们创建了一个Vector图层,并将其添加到地图中。接下来,我们定义了一个经纬度数组,表示轨迹的点坐标。然后,我们使用这些坐标创建了一个LineString几何图形,并将其转换为Web墨卡托投影(EPSG:3857)。最后,我们将LineString几何图形包装在一个Feature中,并将其添加到Vector图层中,这样轨迹就会显示在地图上了。
希望这个示例能对你有所帮助!
阅读全文