_unsetMap issues in IE8
GoogleCodeExporter opened this issue · comments
1. Open gmaps-utility-gis/agsjs/examples/gmapslayer.html in IE8 (or IE9 + IE8
standards mode)
2. Click the reload button
3. Notice one of several errors shown below
Can be reproduced from here:
http://gmaps-utility-gis.googlecode.com/svn/tags/agsjs/2.03/examples/gmapslayer.
html
google is undefined. You can get around this by using window.google as is done
elsewhere in this file:
if (google && google.maps && google.maps.event) {
parentNode is null:
this._element.parentNode.removeChild(this._element);
this._controlDiv.parentNode.removeChild(this._controlDiv);
this._topDiv.parentNode.removeChild(this._topDiv);
Original issue reported on code.google.com by coreya...@gmail.com
on 23 Aug 2012 at 12:21
Seems dom-construct contains a destroy method which handles removing the child
from the parent...I assume dojo.destroy does the same. This code works in IE8:
_unsetMap: function (map, layersDiv) {
var google = window.google;
dojo.forEach(this._connects, dojo.disconnect, dojo);
if (this._streetView) {
this._streetView.setVisible(false);
}
if (google && google.maps && google.maps.event) {
if (this._gmapTypeChangeHandle)
google.maps.event.removeListener(this._gmapTypeChangeHandle);
if (this._svVisibleHandle)
google.maps.event.removeListener(this._svVisibleHandle);
}
dojo.destroy(this._element);
dojo.destroy(this._controlDiv);
dojo.destroy(this._topDiv);
},
Original comment by coreya...@gmail.com
on 23 Aug 2012 at 4:29