作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我认为标题很清楚,我正在使用 openLayer 库(v4.6.5),并且我试图在加载页面时在 map 中加载本地 GPX 文件。在官方文档中,在 GPX 数据示例 ( https://openlayers.org/en/latest/examples/gpx.html?q=data ) 中,使用 url 似乎非常简单。
var vector = new ol.layer.Vector({
source: new ol.source.Vector({
url: 'https://openlayers.org/en/v4.6.5/examples/data/gpx/fells_loop.gpx',
format: new ol.format.GPX()
}),
style: function(feature) {
return style[feature.getGeometry().getType()];
}
});
我的问题是,我需要在 ol.source.Vector 对象中设置什么选项来加载本地 GPX 文件,而不是设置 url 选项?提前致谢。
最佳答案
解决方案1
只需使用 OpenLayers 库中提供的拖放组件即可。演示地址: https://openlayers.org/en/latest/examples/drag-and-drop.html (拖放GPX进行测试)
解决方案2
如果您想要/需要手动执行操作,则需要删除 URL 引用和格式。
然后,当您执行拖放(或其他操作)时,您将获得 GPS 文件内容,然后使用
解析它var GPXfeatures = (new ol.format.GPX()).readFeatures('yourGPXstring', {featureProjection: 'EPSG:3857'})
然后将功能添加到源中
vector.getSource().addFeatures(GPXfeatures)
关于javascript - 如何在 openLayer map 中加载本地 gpx 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50943666/
我是一名优秀的程序员,十分优秀!