百度地图,如何判断经纬度是否在一个圆形范围内?

最近做东西的时候用到了百度地图,想判断出经纬度是否在一个圆形范围内

我用下面这段代码来取得圆形的范围:
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是否在这个范围内要怎么做呢??求各位大神指教

6个回答

楼主 有思路了么111

有一个函数 你去查看这个头文件 BMKGeometry.h

计算点与圆形的距离,小于等于半径 则表示在圆内

bulbuls
bulbuls 圆心 打错了
接近 5 年之前 回复

SpatialRelationUtil.isCircleContainsPoint(LatLng center, int radius, LatLng point) 百度地图自带方法,可以判断点是否在圈内

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐