通过中心点绘制矩形(高德地图为例)
原理:通过高德地图提供的API,LngLat的offset方法实现。
// 简单实现绘制正方形,side 正方形边长,单位米
// 若需要绘制其他矩形,需自行修改代码
function centerPointGetFourPoint = ({ lat, lng }, side = 1000) => {
const centerPoint = new AMap.LngLat(lng, lat);
const upLeftPoint = centerPoint.offset(-side / 2, side / 2);
const upRightPoint = centerPoint.offset(side / 2, side / 2);
const leftBottomPoint = centerPoint.offset(-side / 2, -side / 2);
const rightBottomPoint = centerPoint.offset(side / 2, -side / 2);
return {
upLeftPoint: [upLeftPoint.lng, upLeftPoint.lat],
upRightPoint: [upRightPoint.lng, upRightPoint.lat],
leftBottomPoint: [leftBottomPoint.lng, leftBottomPoint.lat],
rightBottomPoint: [rightBottomPoint.lng, rightBottomPoint.lat],
};
};