我有一个应用程序,它使用leaflet.js 和geoJSON 创建一个大的多边形区域,然后使用jQuery 和leaflet.js 的组合填充较小的圆圈。
这是创建圆圈的地方:
$.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);