У меня возникли проблемы с тем, почему событие mouseover
не работает с mapbox gl.Невозможно получить событие mouseover для работы с mapbox
map.on('load', function() {
var geoJson = '{
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
},
"features": [
{
"type": "Feature",
"properties": {
...
},
"geometry": {
"type": "Point",
"coordinates": [
-118.6059,
34.1829
]
}
}]
}';
map.addSource('someData', {
type: 'geojson',
data: geoJson,
cluster: true,
clusterMaxZoom: 14
});
map.addLayer({
'id': 'unclustered-markers',
'type': 'symbol',
'source': 'someData',
'layout': {
'icon-image': 'circle-11'
}
});
});
Так что эта часть работает, и координаты отображаются на карте внутри кластера. Однако, когда я пытаюсь выполнить событие mouseover
, ничего не происходит.
map.on('mouseover',function(e) {
console.log(e); // nothing is logged when I hover over the map or the points
var features = map.queryRenderedFeatures(e.point, { layers: ['unclustered-markers'] });
...
});
Если изменить это событие, чтобы click
то событие регистрируется в консоли, когда я нажимаю на карте.
О, да, спасибо, что указали это! Не могу поверить, что я это сделал. По какой-то причине я все время видел или думал о наведении мыши .... Спасибо –
Строго говоря, 'mousemove' - это не то же самое, что' mouseover'. –