From 8c66c4773dba920e5b95fd8704712796b7fa93ea Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 14 Apr 2017 18:22:23 +0000 Subject: [PATCH] Fix cursor pointer change on hovering over active element --- map.html | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/map.html b/map.html index f8f23fb..fd15e24 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,21 +132,17 @@ 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(); } }); // change mouse cursor when over marker map.on('pointermove', function(e) { - var pixel = map.getEventPixel(e.originalEvent); - var hit = map.hasFeatureAtPixel(pixel); - var target = map.getTarget(); - if(target.style) - target.style.cursor = hit ? 'pointer' : ''; + var hit = map.hasFeatureAtPixel(e.pixel); + var target = map.getTargetElement(); + target.style.cursor = hit ? 'pointer' : ''; }); } @@ -210,8 +218,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