// 验证配送范围:多边形
// $points 范围经纬度
// $map 需要验证的经纬度
public function checkAreaPolygon($map, $points)
{
$n = count($points);
$inside = false;
$x = $map['lng'];
$y = $map['lat'];
for ($i = 0, $j = $n - 1; $i < $n; $j = $i++) {
$xi = $points[$i]['lng'];
$yi = $points[$i]['lat'];
$xj = $points[$j]['lng'];
$yj = $points[$j]['lat'];
if (($yi > $y) != ($yj > $y)) {
$xi_prime = $xi + ($xj - $xi) * ($y - $yi) / ($yj - $yi);
if ($xi_prime > $x) {
$inside = !$inside;
}
}
}
return $inside;
}
php配送区域范围【多边形】
最新推荐文章于 2024-07-10 21:39:46 发布