From d696cff271b0c92803fc6bedbed49156110512e7 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Fri, 14 Apr 2017 18:21:59 +0000
Subject: [PATCH] Add popupShow/Hide helper functions

---
 map.html |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/map.html b/map.html
index f8f23fb..adee5e9 100644
--- a/map.html
+++ b/map.html
@@ -66,6 +66,18 @@
 	}
 }
 
+function popupHide() {
+	popup.setPosition(undefined);
+	popup_feature_id = null;
+}
+
+function popupShow(coordinates, id) {
+	popup.setPosition(coordinates);
+	if(id) {
+		popup_feature_id = id;
+	}
+}
+
 function init() {
 	if(!window.jQuery) {
 		fail(lang.jquery_not_loaded);
@@ -107,8 +119,8 @@
 	});
 	
 	// display popup on click
-	map.on('singleclick', function(evt) {
-		var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature) { return feature; });
+	map.on('singleclick', function(e) {
+		var feature = map.forEachFeatureAtPixel(e.pixel, function(feature) { return feature; });
 		if(feature) {
 			var coordinates = feature.getGeometry().getCoordinates();
 			
@@ -120,11 +132,9 @@
 				addParaWithText(popup_element, vehicle_type.num + ' ' + vehicle_type.type);
 			}
 			
-			popup.setPosition(coordinates);
-			popup_feature_id = feature.getId();
+			popupShow(coordinates, feature.getId());
 		} else {
-			popup.setPosition(undefined);
-			popup_feature_id = null;
+			popupHide();
 		}
 	});
 
@@ -210,8 +220,9 @@
 			} else {
 				vehicle_feature.setProperties(vehicle);
 				vehicle_feature.getStyle().getImage().setRotation(Math.PI * parseFloat(vehicle.heading) / 180.0);
-				if(popup_feature_id == vehicle.id) {
-					popup.setPosition(vehicle_feature.getGeometry().getCoordinates());
+				
+				if(popup_feature_id == vehicle_feature.getId()) {
+					popupShow(vehicle_feature.getGeometry().getCoordinates());
 				}
 			}
 		}

--
Gitblit v1.9.1