开发者问题收集

openLayers 地图未定义错误

2016-03-07
1281

当我在 map.on("singleclick", function(event) 后添加 var view 时,我注意到方法 getView() ( http://openlayers.org/en/master/apidoc/ol.Map.html#getView ) 停止工作。有人能告诉我为什么会发生这种情况吗?在我的浏览器控制台中,我收到以下错误:

TypeError:map 未定义

这是我的代码:

map.on("singleclick", function(event) {
var map = evt.map;
var feature = map.forEachFeatureAtPixel(
    event.pixel, function(feature, layer) {
        return feature
    }
)
var icon_feature = new ol.Feature({
        geometry: new ol.geom.Point(event.coordinate),
        type: 'icon',
        coords: event.coordinate
    })
    icon_feature.setStyle(icon_style)
    icon_layer.getSource().addFeature(icon_feature)
})

var view = map.getView(); //error in this line
//more code here ...
1个回答

不要重新定义您的 map ( var map = evt.map; ) 变量!只需使用:

var view = map.getView();
Jonatas Walker
2016-03-07