在html中,用百度地图,能不能判断一个点是否在一个区域内?
2016-03-07 · 百度知道合伙人官方认证企业
利用百度地图api判断点在矩形内方法:
function ptInRect(){
var pt = new BMap.Point(116.404, 39.915);//测试点
var pt1 = new BMap.Point(116.400, 39.910);//西南脚点
var pt2 = new BMap.Point(116.410, 39.920);//东北脚点
var bds = new BMap.Bounds(pt1, pt2); //测试Bounds对象
var result = BMapLib.GeoUtils.isPointInRect(pt, bds);
if(result == true){
alert("点在矩形内");
} else {
alert("点在矩形外")
}
//演示:将点与矩形添加到地图上
map.clearOverlays();
var mkr = new BMap.Marker(pt);
var pts = [];
//bds的四个脚点坐标
var leftTop = new BMap.Point(pt1.lng, pt2.lat);
var rightTop = new BMap.Point(pt2.lng, pt2.lat);
var leftBottom = new BMap.Point(pt1.lng, pt1.lat);
var rightBottom = new BMap.Point(pt2.lng, pt1.lat);
pts.push(leftTop);
pts.push(rightTop);
pts.push(rightBottom);
pts.push(leftBottom);
var rect = new BMap.Polygon(pts);
map.addOverlay(mkr);//添加测试点
map.addOverlay(rect);//添加测试矩形
}
点击运行效果: