openLayers 地图未定义错误

openLayers map is undefined error

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

类型错误:地图未定义

这是我的代码:

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 ...

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

var view = map.getView();