【发布时间】:2020-03-03 20:27:26
【问题描述】:
我正在使用传单地图进行用户跟踪。我在地图上有一个用户标记和一个多边形。现在我希望该用户标记保留在定义的多边形内。如果用户离开多边形然后系统会提醒他这一点。 我怎样才能实现这个功能?请帮忙。
【问题讨论】:
标签: angular typescript leaflet
我正在使用传单地图进行用户跟踪。我在地图上有一个用户标记和一个多边形。现在我希望该用户标记保留在定义的多边形内。如果用户离开多边形然后系统会提醒他这一点。 我怎样才能实现这个功能?请帮忙。
【问题讨论】:
标签: angular typescript leaflet
您可以使用来自 turf.js 的 booleanPointInPolygon https://turfjs.org/docs/#booleanPointInPolygon
var poly = L.polygon([[49,10],[48,20]]).addTo(map);
var marker = L.marker([48.5,15]).addTo(map);
//Convert latlng to lnglat
var inPoly = booleanPointInPolygon(marker.toGeoJSON().geometry.coordinates,poly.toGeoJSON().geometry.coordinates)
console.log(inPoly);
PS:未经测试,但应该可以工作。
【讨论】: