(JS) Bug fix: HtmlInfoWindow bound with the marker that is created by MarkerCluster remains when map.clear() is executed.
MODIFY
plugin.xml
plugin.xml
<?xml version='1.0' encoding='utf-8'?>
-<plugin id="cordova-plugin-googlemaps" version="2.1.2-beta-20171128-1248" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
+<plugin id="cordova-plugin-googlemaps" version="2.1.2-beta-20171128-1331" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>cordova-plugin-googlemaps</name>
<js-module name="BaseClass" src="www/BaseClass.js">
<runs />

MODIFY
www/HtmlInfoWindow.js
www/HtmlInfoWindow.js
@@ -384,6 +384,7 @@ HTMLInfoWindow.prototype.close = function() {
this.set('marker', undefined);
var map = marker.getMap();
+ self._hook.off(marker.getMap(), "map_clear");
self._hook.off(marker, "infoPosition_changed");
self._hook.off(marker, "icon_changed");
//self._hook.off(self, "infoWindowAnchor_changed");
@@ -445,6 +446,7 @@ HTMLInfoWindow.prototype.open = function(marker) {
self._hook.bindTo(map, "infoPosition", self);
self._hook.bindTo(marker, "infoWindowAnchor", self);
self._hook.bindTo(marker, "icon", self);
+ self._hook.one(marker.getMap(), "map_clear", self.close.bind(self));
self._hook.one(marker, event.INFO_CLOSE, self.close.bind(self));
self.set("marker", marker);
map.set("active_marker_id", marker.getId());

MODIFY
www/Map.js
www/Map.js
@@ -296,6 +296,7 @@ Map.prototype.clear = function(callback) {
clearObj(self.OVERLAYS);
clearObj(self.MARKERS);
clearObj(self.KML_LAYERS);
+ self.trigger("map_clear");
exec.call(this, function() {
if (typeof callback === "function") {

(JS) Bug fix: HtmlInfoWindow bound with the marker that is created by MarkerCluster remains when map.clear() is executed.