我正在使用OpenLayers 3而我正在尝试加载geojson文件并将其内容绘制到地图中。我跟随OpenLayers网站(http://openlayers.org/en/v3.14.2/examples/geojson.html)的示例,但它似乎没有效果。我在控制台中没有错误,因为我在地图上没有得到任何东西。这是我的代码:
var imageForGeoJSON = new ol.style.Circle({
radius:5,
fill:null,
stroke: new ol.style.Stroke({
color:'red', width:1
})
});
var geoJSONStyles = {
'Point': new ol.style.Style({
image:imageForGeoJSON})
};
var styleFunction = function(feature){
return geoJSONStyles[feature.getGeometry().getType()];
};
//On button click I try to draw the points on the map
$("#getButton").click(function(){
$.getJSON('http://localhost:8080/path/filePath/myFile.geojson', function(data){
var geoJSONVectorSource = new ol.source.Vector({
features:(new ol.format.GeoJSON()).readFeatures(data)
});
var geoJSONVectorLayer = new ol.layer.Vector({
source: geoJSONVectorSource,
style: styleFunction,
visible:true
});
map.addLayer(geoJSONVectorLayer);
//I try those ways to load again the map but that doesn't seem to work either
map.changed();
map.render();
map.renderSync();
geoJSONVectorSource.changed();
geoJSONVectorLayer.getSource().changed();
});
});
问题似乎不是geojson文件,即使我从示例中添加geojson它仍然无法工作。此外,当我在console.log中时,我似乎正确地得到了数据。
任何想法?谢谢!