Mapbox: Маркеры не показывают кликабельный курсор на мыши
-
23-12-2019 - |
Вопрос
Я переезжаю из листовки + CloudMade до Mapbox и делал незначительные переписывания к моему коду, где это необходимо.Я освежаю свою карту, и в моей предыдущей взвешении было проще всего добавить каждый маркер в свой собственный слой, а затем на обновлении, чтобы удалить все слои и перерисовать маркеры.
Вот мой текущий код:
function setLeafletMarker(lat, lng, iconType, popupHTML) {
popupHTML = typeof popupHTML !== 'undefined' ? popupHTML : "";
var LamMarker = new L.Marker([lat, lng], { icon: iconType }); //.on('click', markerClick); ;
markers.push(LamMarker);
LamMarker.bindPopup(popupHTML);
map.addLayer(LamMarker);
}
.
Я подозреваю, что это что-то связано с проблемой, что в том, что когда я положил курсор мыши на маркер, он остается в виде рук (Draggable) вместо того, чтобы меняться, чтобы быть заостренным пальцем, что означает, что маркер щелчна.Нажав работает нормально, но это не очень интуитивно.Как я могу изменить руку на точечный палец?
Решение
бежал в ту же проблему.Проделал быструю проверку CSS на сайте MapBox, и они, кажется, исправят его, используя правило CSS в их файле CSS Site (не конкретно).Я смог исправить проблему, используя тот же подход, добавив это на мои сайты CSS.
.leaflet-overlay-pane path,
.leaflet-marker-icon {
cursor: pointer;
}
.
Я сравнил Reastlet по умолчанию.csss с MAPBOX по умолчанию.css и листовки включает в себя это
.leaflet-clickable {
cursor: pointer;
}
.
пока mapbox не делает.
Другие советы
Одним из способов - это вы можете просто добавить поведение в мероприятия MUSICOVER и Mouseout:
LamMarker.on("mouseover", function(e) {
document.getElementById('map').style.cursor = "pointer";
}).on("mouseout", function(e) {
document.getElementById('map').style.cursor = "grab";
});
.