У меня есть приложение, которое использует leaflet.js и geoJSON для создания большой области полигона, которая затем заполняется меньшими кругами, используя сочетание jQuery и leaflet.js.Можно ли определить, содержит ли большая фигура как многоугольник меньшие формы круга в jQuery?
Здесь созданы кружки:
$.getJSON('http://localhost/json/json.php', function(data){
$(data.payload.incidents).each(function(key, value) {
var lati = data.payload.incidents[key].incident.locationlatitude;
var longi = data.payload.incidents[key].incident.locationlongitude;
var title = data.payload.incidents[key].incident.incidenttitle;
var desc = data.payload.incidents[key].incident.incidentdescription;
var mark = L.circle([lati, longi], 50,{
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5
}).addTo(map);
mark.bindPopup("<b>"+title+"</b></br></br>"+desc).openPopup();
console.log("success");
}
})
});
Я пытался использовать эту строку кода для обнаружения кругов:
if(geojson.getBounds().contains(mark){console.log('mark detected')}
но .Contains() появляется только для использования для прямоугольников.
Здесь многоугольники добавляются к карте. (AreaData является GeoJSON)
var geojson
geojson = L.geoJson(areaData, {
style: style,
onEachFeature: onEachFeature
}).addTo(map);
Это слишком широкий ... что именно элементы? Как они созданы? Вы еще что-нибудь пробовали? У вас есть код для обмена? – Lix
polygon.getBounds() возвращает ограничивающий прямоугольник. Легко проверить, находится ли точка внутри ящика; вот что содержит. Проверка многоугольника сложнее. Здесь есть хорошая дискуссия. Http://stackoverflow.com/questions/217578/point-in-polygon-aka-hit-test – kielni