[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins / gis / javascript / gis_utils.js
index c636b46..3bdc738 100644 (file)
@@ -2,9 +2,22 @@ function gis_focus_marker (id, map) {
        var carte = eval('map'+ map);
        var i, count = 0;
        for (i in carte._layers) {
-               if ((carte._layers[i].feature) && (carte._layers[i].feature.id == id)) {
+               if (L.MarkerClusterGroup && carte._layers[i] instanceof L.MarkerClusterGroup) {
+                       carte._layers[i].eachLayer(function(layer) {
+                               if (layer.id && layer.id == id) {
+                                       carte._layers[i].zoomToShowLayer(layer, function(){
+                                               layer.openPopup();
+                                       });
+                                       count++;
+                               }
+                       });
+                       if (count > 0) {
+                               break;
+                       }
+               } else if (((carte._layers[i].feature) && (carte._layers[i].feature.id == id)) || (carte._layers[i].id && carte._layers[i].id == id)) {
                        carte.panTo(carte._layers[i].getLatLng());
                        carte._layers[i].openPopup();
+                       break;
                }
                count++;
        }