为清楚起见,这是另一个示例,演示了 erilem 的答案,其中包含未命名为“map”的 map var 和 map div。
mapElement = '#mapDiv'
mymap = new ol.Map({
target: mapDiv,
view: new ol.View({
...
})
});
$(mapElement).data('map', mymap);
然后,您可以使用带有 data 方法的数据使用 jquery 引用该地图。就我而言,然后我想使用 ol updateSize() 来更新 mymap。
thisMap = $(mapElement).data('map')
thisMap.updateSize();
当我在一页上有多个地图时,这很有用。我在哪里使用:
mapDiv = id +'-map'
mapElement = '#' + mapDiv
maps[i] = new ol.Map({
target: mapDiv,
view: new ol.View({
...
})
});
$(mapElement).data('map', maps[i])
接着:
thisMapId = activeDataset + '-map'
thisMapElement = '#' + thisMapId
thisMap = $(thisMapElement).data('map')
thisMap.updateSize()
其中 id = activeDataset