大家好啊/ 我知道这比 gmap 更像是一个数学问题,但我想有人已经通过了这个 =)
在我的 map 中,我有圆圈(实际上我有几个,但这并不能改变问题),像这样:http://code.google.com/intl/pt-BR/apis/maps/articles/mvcfun/step6.html
我如何知道标记(带有纬度 X 和经度 Y)是否在此圆内?
抱歉英语不好,我是巴西人=p
最佳答案
在 Google Maps JavaScript API v3 中,您可以使用几何库。要启用它,您必须稍微更改脚本 URL:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script>
该库包含用于计算球体几何数据的实用函数。您可以利用它以这种方式计算由它们的 latLngs 给出的两点的距离:
var distanceInMetres = google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint);
现在您可以轻松检查点是否在圆内(假设 R 以米为单位):
if(distanceInMetres < R)
alert("in the circle");
关于javascript - 如何检查给定标记是否在区域内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027266/