Javascript 传单中两条线的交点

Javascript 传单中两条线的交点,javascript,leaflet,intersection,Javascript,Leaflet,Intersection,我想得到传单中两条多段线的交点。 我有以下两行: var latlng1 = L.latLng(-7.9375, 4.46354); var latlng2 = L.latLng(-7.96875, 16.11979); var latlongs1 = [ latlng1, latlng2 ]; var polyline1 = L.polyline(latlongs1, { color : 'red' }).addTo(map); var latlng3 = L.latLng(-3.

我想得到传单中两条多段线的交点。 我有以下两行:

var latlng1 = L.latLng(-7.9375, 4.46354);
var latlng2 = L.latLng(-7.96875, 16.11979);
var latlongs1 = [ latlng1, latlng2 ];
var polyline1 = L.polyline(latlongs1, {
    color : 'red'
}).addTo(map);


var latlng3 = L.latLng(-3.5625, 9.31719);
var latlng4 = L.latLng(-12.125, 9.50469);
var latlongs2 = [ latlng3, latlng4 ];
var polyline2 = L.polyline(latlongs2, {
    color : 'blue'
}).addTo(map);

我可以得到这些线的端点的边界和长度。我无法获取所有行的连续数组。有什么办法可以做到吗

如果您不想对所有逻辑进行编码,有一个名为的小型且易于使用的库,它提供了几种地理处理算法。您甚至可以只使用其中一种算法,而这些算法基本上独立于库的其余部分

该模块完全满足您的要求

var intersection = turf.lineIntersect(polyline1.toGeoJSON(), polyline2.toGeoJSON());
var intersectionCoord = intersection.features[0].geometry.coordinates;

你也可以查看灵感。

我认为你需要自己计算。最接近交点计算的是
L.LineUtil.\u getEdgeIntersection
。你可以用它作为灵感。将端点转换为像素,计算交点并将交点转换回坐标。感谢@MichałGrzejszczak,我尝试了以下操作:
console.log(polyline1.getBounds().intersects(polyline2.getBounds());通过给我基于线交点的真或假,这工作很好。如果相交则为True,如果不相交则为false。如果我检查了lapper.js中的intersects方法,是否正确获取交点?