作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
大家好啊/我知道这比 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/
我有数百个位置的列表,只想显示当前屏幕上这些位置的 MKPinAnnotation。屏幕从 2 英里半径内的用户当前位置开始。当然,用户可以滚动和缩放屏幕。现在,我等待 map 更新事件,然后循环遍历
我试过检查 CGRect: CGFloat imageX1 = imageView.frame.origin.x; CGFloat imageY1 = imageView.frame.origin
我是一名优秀的程序员,十分优秀!