Mapbox: Маркеры не показывают кликабельный курсор на мыши

StackOverflow https://stackoverflow.com//questions/23056840

  •  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";
});
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top