Domanda

Mi sto muovendo da Leaflet + CloudMade a Mapprox e hanno fatto riscritture minori al mio codice ove necessario.Sto rinfrescando la mia mappa e nella mia precedente puntata è stato più facile aggiungere ogni marcatore in un proprio livello e quindi su Aggiorna per rimuovere tutti i livelli e ridisegnare i marcatori.

Ecco il mio codice corrente:

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

Sospetto che questo abbia qualcosa a che fare con il problema, che è che quando metto il cursore del mouse su un pennarello, rimane come una mano (trascinabile) invece di passare a un dito a punta, il che significa che il marcatore è cliccabile.Cliccando funziona bene, ma non è molto intuitivo.Come posso cambiare la mano per pointy dito?

È stato utile?

Soluzione

ha corso anche lo stesso problema.Ha fatto un controllo rapido del CSS sul sito Mapbox e sembrano risolverlo utilizzando una regola CSS nel loro file CSS di SiteWide (non specificata mappa).Sono stato in grado di risolvere il problema usando lo stesso approccio, aggiungendo questo al mio css di Sitewide.

.leaflet-overlay-pane path,
.leaflet-marker-icon {
  cursor: pointer;
}
.

Ho confrontato il foglietto predefinito.CSS con il Mapprox.CSS e il foglietto predefinito include questo

.leaflet-clickable {
    cursor: pointer;
    }
.

Mentre Mapbox non lo fa.

Altri suggerimenti

Un modo è possibile aggiungere il comportamento agli eventi del mouseover e del mouseout:

LamMarker.on("mouseover", function(e) {
    document.getElementById('map').style.cursor = "pointer";
}).on("mouseout", function(e) {
    document.getElementById('map').style.cursor = "grab";
});
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top