src/pyams_gis/resources/js/pyams_gis.js
changeset 91 6c9dec257d60
parent 90 53d13af906a1
--- a/src/pyams_gis/resources/js/pyams_gis.js	Fri Mar 19 13:11:50 2021 +0100
+++ b/src/pyams_gis/resources/js/pyams_gis.js	Mon Mar 22 14:57:14 2021 +0100
@@ -253,29 +253,18 @@
 							'leaflet-markercluster-default');
 					}
 
+					// show tooltip
+					var hoverMarker = function(e) {
+						this.openPopup();
+					}
+					// hide tooltip
+					var leaveMarker = function(e) {
+						this.closePopup();
+					}
 					// click marker
 					var clickMarker = function(e) {
 						window.location.href = this.options.clickURL;
 					}
-					// show tooltip
-					var hoverMarker = function(e) {
-						var icon = this.getIcon(),
-							tooltip = this.getTooltip(),
-							position = e.containerPoint.y,
-							height = $(this.getPane()).parents('.map').height();
-						if (position < height / 2) {
-							tooltip.options.direction = 'bottom';
-							tooltip.options.offset = [0, 0]
-						} else {
-							tooltip.options.direction = 'top';
-							tooltip.options.offset = [0, -icon.options.iconSize[1]]
-						}
-						this.openTooltip();
-					}
-					// hide tooltip
-					var leaveMarker = function(e) {
-						this.closeTooltip();
-					}
 
 					maps.each(function(idx, elt) {
 
@@ -316,6 +305,13 @@
 									markerId: markerConfig.id,
 									alt: markerConfig.id
 								});
+								var popup = new L.popup({
+									offset: new L.Point(0, -markers.icon.size[1]),
+									closeButton: false,
+									autoPan: true
+								});
+								marker.addEventListener('mouseover', hoverMarker);
+								marker.addEventListener('mouseout', leaveMarker);
 								if (markerConfig.href) {
 									marker.addEventListener('click', clickMarker);
 								}
@@ -337,16 +333,18 @@
 									if (markerConfig.img) {
 										className += ' p-0';
 									}
-									icons[markerConfig.id].bindTooltip(label, {
+									marker.bindPopup(label, {
 										direction: 'top',
 										offset: [0, -markerIcon.options.iconSize[1]],
 										opacity: 1,
-										className: className
+										className: className,
+										closeButton: false,
+										autoPan: true
 									});
-									icons[markerConfig.id].addEventListener('mouseover', hoverMarker);
-									icons[markerConfig.id].addEventListener('mouseout', leaveMarker);
+									marker.addEventListener('mouseover', hoverMarker);
+									marker.addEventListener('mouseout', leaveMarker);
 								}
-								markersClusterCustom.addLayer(icons[markerConfig.id]);
+								markersClusterCustom.addLayer(marker);
 							}
 							leafmap.addLayer(markersClusterCustom);
 							if (config.adjust === 'auto') {