使用openlayers 3/4,我在绘制仅包含点的featurecollection时遇到问题。我想做的就是在地图上绘制点,当你点击它时,它会显示一个弹出窗口,它会显示它拥有的一个属性。
我得到的错误是: core.js:1448 ERROR TypeError:a.Yf不是函数 在ol.js:152
我的代码是:
let points = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
'text':'World',
'id': 'Point 1'
},
"geometry": {
"type": "Point",
"coordinates": [somecoords]
}
}]
};
var thepoint = new ol.source.Vector({
title: 'Hello Point',
features: (new ol.format.GeoJSON()).readFeatures(points)
});
map.addLayer(thepoint);
问题是什么?我怎么能做到这一点?错误根本不明确。
答案 0 :(得分:1)
您的帖子中没有足够的有关您的坐标的信息。显示问题的jsfiddle示例使这些事情更容易解决。
我建议遵循这个geoJSON示例:
https://openlayers.org/en/latest/examples/geojson.html
密切注意地图投影,如果你的geoJSON是正确的并且你在地图上看不到任何点,你的投影很可能对于所使用的坐标是错误的:
https://openlayers.org/en/latest/doc/faq.html#how-do-i-change-the-projection-of-my-map-
在选择中,请参阅此文档:
此处的选择示例https://openlayers.org/en/latest/examples/select-features.html