gpt4 book ai didi

javascript - Google Maps Circle/MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 12:27:50 25 4
gpt4 key购买 nike

我想在 map 上画一个圆圈,并获取数据库中的所有行,其中包含落入该圆圈的纬度/经度点。

我不想使用 google.maps.Circle 绘制圆圈,因为这会应用墨卡托投影失真。我想要一个几何圆而不是地理圆。

所以我可能可以使用某种叠加层将其绘制到 Google map 上。但是可以在我的数据库中查询这些点吗?

如果我要画一个地理圈,我可以使用 haversine formula ,但这不适用于几何圆。

最佳答案

您可以使用毕达哥拉斯来查找圆内的点。

a^2 + b^2 = c^2

以下 SQL 使用 PDO查找圆半径内的点

$stmt = $dbh->prepare("SELECT  name, lat, lng, ( SQRT(POW(? - lat, 2)
+ POW(? - lng, 2))) AS distance FROM mytable
HAVING distance < ? ORDER BY distance ASC ");
// Assign parameters
$stmt->bindParam(1,$center_lat);//Center of circle
$stmt->bindParam(2,$center_lng);////Center of circle
$stmt->bindParam(3,$radius);

Javascript 函数(如果需要)

function Pythagoras (x1,y1,x2,y2){
var Dist = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));
return Dist ;
}

关于javascript - Google Maps Circle/MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com