在OpenLayers3中,在地图上绘制不可见

时间:2016-03-31 05:37:44

标签: jquery openlayers-3 geojson

我正在使用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中时,我似乎正确地得到了数据。

任何想法?谢谢!

0 个答案:

没有答案