最近做东西的时候用到了百度地图,想判断出经纬度是否在一个圆形范围内
我用下面这段代码来取得圆形的范围:
function getSquareBounds(centerPoi,r){
var a = Math.sqrt(2) * r; //正方形边长
mPoi = getMecator(centerPoi);
var x0 = mPoi.x, y0 = mPoi.y;
var x1 = x0 + a / 2 , y1 = y0 + a / 2;//东北点
var x2 = x0 - a / 2 , y2 = y0 - a / 2;//西南点
var ne = getPoi(new BMap.Pixel(x1, y1)), sw = getPoi(new BMap.Pixel(x2, y2));
return new BMap.Bounds(sw, ne);
}
但是我要怎么判断我定义的多个经纬度point是否在这个范围内要怎么做呢??求各位大神指教
楼主 有思路了么111
有一个函数 你去查看这个头文件 BMKGeometry.h
计算点与圆形的距离,小于等于半径 则表示在圆内
http://www.tuicool.com/articles/rUJzEzu 这篇讲的还可以
SpatialRelationUtil.isCircleContainsPoint(LatLng center, int radius, LatLng point) 百度地图自带方法,可以判断点是否在圈内