как определить что маркер(Point) находится внутри Полигона?
использую библиотеку yandex_mapkit, есть ли формула при котором если маркер отмечен в зоне полигона возвращает true, а иначе false?
т.е:
если Point внутри List<Polygon> то true, а если Point снаружи List<Polygon> то false.
Использую эту формулу но что то она возвращает не точно:
bool isOnlinePayment(Point point, List<Polygon> polygons) {
bool inside = false;
var x = point.latitude, y = point.longitude;
for (int ii = 0; ii < polygons.length; ii++) {
var polyPoints = polygons[ii].coordinates;
for (int i = 0, j = polyPoints.length - 1; i < polyPoints.length; i++) {
var xi = polyPoints[i].latitude, yi = polyPoints[i].longitude;
var xj = polyPoints[j].latitude, yj = polyPoints[j].longitude;
var intersect = ((yi > y) != (yj > y)) &&
(x < (xj - xi) * (y - yi) / (yj - yi) + xi);
if (intersect) inside = !inside;
}
}
return inside;
}