gpt4 book ai didi

javascript - 在 openlayers3 javascript 中单击 map 获取功能信息

转载 作者:行者123 更新时间:2023-12-01 02:05:21 25 4
gpt4 key购买 nike

尝试在示例 popupinfo 的帮助下使用 openlayers 3 javascript 获取有关 map 点击的要素信息

   
var mmi = new ol.layer.Tile({
source: new ol.source.OSM()
});

var one = new ol.layer.Image({
source: new ol.source.ImageWMS({
url: 'http://localhost:8080/geoserver/wms',
params: {'LAYERS': 'cite:abc'},
format: new ol.format.GeoJSON(),
ratio: 1,
serverType: 'geoserver'
})
});

var map = new ol.Map({
layers: [mmi,one],
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([73.6608, 29.8820]),
zoom: 8
})
});


map.on('click', function(evt) {
var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature, one)
{
return feature;
})
});
<link href="https://openlayers.org/en/v4.6.4/css/ol.css" rel="stylesheet"/>
<script src="https://openlayers.org/en/v4.6.4/build/ol-debug.js"></script>
<div id="map" class="map"></div>
<div id="map" class="information"></div>

在我的 map 点击事件中,特征值什么都没有。如何在点击特征时获取特征值。

最佳答案

您正在研究适合您的用例的错误示例,您需要 getFeatureInfo call因为您正在使用网络 map 服务 (WMS)。

map.on('click', function(evt) {
var url = wms_layer.getSource().getFeatureInfoUrl(
evt.coordinate, viewResolution, viewProjection,
{'INFO_FORMAT': 'text/html',
'propertyName': 'formal_en'});
if (url) {
var parser = new ol.format.GeoJSON();
$.ajax({
url: url,

}).then(function(response) {
container.innerHTML = response;
} else {
container.innerHTML = '&nbsp;';
}
});
}
});

关于javascript - 在 openlayers3 javascript 中单击 map 获取功能信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50148541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com