Skip to main content
add example
Source Link
tsauerwein
  • 431
  • 2
  • 4

The problem is that you are using getMap() in the constructor of your control. But at the moment you instantiate the control, it is not yet added to the map. So, getMap() returns undefined.

You can overwrite setMap(map) in your control which is called by the map when executing map.setControl().

ol3_legend.prototype.setMap = function(map) {
  ol.control.Control.prototype.setMap.call(this, map);
  console.log(map);
};

The problem is that you are using getMap() in the constructor of your control. But at the moment you instantiate the control, it is not yet added to the map. So, getMap() returns undefined.

You can overwrite setMap(map) in your control which is called by the map when executing map.setControl().

The problem is that you are using getMap() in the constructor of your control. But at the moment you instantiate the control, it is not yet added to the map. So, getMap() returns undefined.

You can overwrite setMap(map) in your control which is called by the map when executing map.setControl().

ol3_legend.prototype.setMap = function(map) {
  ol.control.Control.prototype.setMap.call(this, map);
  console.log(map);
};
Source Link
tsauerwein
  • 431
  • 2
  • 4

The problem is that you are using getMap() in the constructor of your control. But at the moment you instantiate the control, it is not yet added to the map. So, getMap() returns undefined.

You can overwrite setMap(map) in your control which is called by the map when executing map.setControl().