Tapni na okrug za zoom
•
Tapni na grad za detalje
');
label.css({ left: x + 'px', top: y + 'px' });
// KLJUČ: Direktni event koji Highcharts ne može da blokira
label.on('click touchstart', function(e) {
e.preventDefault();
e.stopPropagation();
window.openCity(point.name, point.district);
});
overlay.append(label);
}
});
}
}
}
},
title: { text: '' },
mapNavigation: { enabled: true, buttonOptions: { verticalAlign: 'bottom', align: 'right' } },
colorAxis: { visible: false },
plotOptions: {
map: {
allAreas: true, joinBy: 'hc-key', borderColor: '#c5a059', borderWidth: 1,
states: {
hover: { color: '#0B2316', borderColor: '#c5a059' },
select: { color: '#c5a059', borderColor: '#0B2316' }
},
events: {
click: function(e) {
e.point.zoomTo();
$('.rs-map-container-pro').addClass('zoomed-in'); // Sakriva nazive okruga
$('.map-title').text('📍 ' + e.point.name);
$('#reset-map-btn').fadeIn();
filterAndShowCities(e.point.name);
}
}
}
},
series: [{
name: 'Okruzi',
data: allData,
enableMouseTracking: true,
tooltip: { enabled: false }, // UKLANJAMO DOSADNI TOOLTIP NA HOVER OKRUGA
dataLabels: {
enabled: true, format: '{point.name}',
style: { fontSize: '11px', color: '#0B2316', fontWeight: 'bold', textOutline: '2px solid #fff', textTransform: 'uppercase' }
}
}, {
type: 'mappoint',
name: 'Gradovi',
data: [],
marker: { symbol: 'circle', radius: 8, fillColor: '#c5a059', lineColor: '#0B2316', lineWidth: 2 }
}]
});
}
function filterAndShowCities(districtName) {
const normalize = str => str.toLowerCase().replace(/č/g, 'c').replace(/ć/g, 'c').replace(/đ/g, 'd').replace(/š/g, 's').replace(/ž/g, 'z').replace(/-/g, '').replace(/ /g, '').replace(/okrug/g, '').replace(/grad/g, '').trim();
const target = normalize(districtName);
const filteredCities = citiesData.filter(city => {
const cityDist = normalize(city.district);
return cityDist.includes(target) || target.includes(cityDist);
});
chart.series[1].setData(filteredCities.map(city => ({ name: city.name, lat: city.lat, lon: city.lon, district: city.district })));
}
$('#reset-map-btn').click(function() {
chart.mapZoom();
chart.series[1].setData([]);
$('.rs-map-container-pro').removeClass('zoomed-in'); // Vraća nazive okruga
$('#rs-map-labels-overlay').empty();
$('.map-title').text('🏹 Mapa Lovišta Srbije');
$(this).fadeOut();
});
});