Я использую leaflet.js для карты кластера маркеров, мне нужно было получить идентификаторы этих точек в кластере, чтобы создать запрос ajax, мой код работает правильно, но я не могу получить идентификаторы в кластеризованном виде. если вы можете мне помочь, в этом поле e.layer.options.myCustomId
вы получите идентификаторы, когда не кластеризованы. Благодарен!
var tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}),
//latlng = L.latLng(-22.01, -47.89);
latlng = L.latLng(<?php echo $localizacao['lat']; ?> , <?php echo $localizacao['lng']; ?>);
var map = L.map('map', {center: latlng, zoom: 13, layers: [tiles]});
var markers = L.markerClusterGroup({spiderfyOnMaxZoom: false, showCoverageOnHover: false, zoomToBoundsOnClick: false});
function populatephp(){
<?php foreach ($endereco_id as $key => $value) { ?>
var muxiCoordinates = [<?php echo $value['lat']; ?>, <?php echo $value['lng']; ?>];
var muxiMarkerMessage = "<img src='<?php echo $value['img']; ?>'><br><?php echo $value['dados']; ?> ";
var id = "<?php echo $value['id']; ?>"
var marker = L.marker(muxiCoordinates, {myCustomId: id})
.bindPopup(muxiMarkerMessage);
markers.addLayer(marker);
<?php } ?>
return false;
}
markers.on('clusterclick', function (a) {
a.layer.zoomToBounds();
});
markers.on('mouseover', mudarElementos);
populatephp();
map.addLayer(markers);
function markerOnOver(e){
e.layer.openPopup();
}
function markerOnOut(e){
setTimeout(function(){ e.layer.closePopup(); }, 9000);
}
function mudarElementos(e){
inverterPosicoes("#corpo_pesquisa", "#myCard_" + e.layer.options.myCustomId)
//console.log(e.layer.options.myCustomId);
}