百度地图JSAPI提供了一组基础类,用于表示地理坐标、像素位置、尺寸和区域范围等基本概念。这些类是地图开发中最常用的数据结构,几乎所有地图操作都依赖它们来描述位置与空间关系。
地理坐标点,用经纬度描述地球上的一个位置。常用于标注位置、设置地图中心点、描述路线坐标等场景。
示例
// 创建一个表示北京天安门的坐标点const point = new BMap.Point(116.404, 39.915);console.log(point.lng); // 116.404console.log(point.lat); // 39.915// 判断两个点是否相等const other = new BMap.Point(116.404, 39.915);point.equals(other); // true
像素坐标点,表示地图容器内的像素位置。坐标原点为地图区域左上角,x 轴向右为正,y 轴向下为正。常用于坐标转换和底图点击位置判断。
示例
// 创建一个像素点const pixel = new BMap.Pixel(100, 200);console.log(pixel.x); // 100console.log(pixel.y); // 200// 经纬度坐标转换为像素坐标const px = map.pointToPixel(new BMap.Point(116.404, 39.915))console.log(px.x, px.y)// 像素坐标转换为经纬度坐标const pt = map.pixelToPoint(new BMap.Pixel(100, 200))console.log(pt.lng, pt.lat)
矩形区域大小,以像素为单位描述一个矩形的宽和高。常用于指定图标可视区域大小、设置标注偏移量等场景。
示例
// 创建一个 32x32 像素的尺寸const size = new BMap.Size(32, 32);console.log(size.width); // 32console.log(size.height); // 32// 设置标注偏移量marker.setOffset(new BMap.Size(10, -20))// 创建图标时指定可视区域大小const icon = new BMap.Icon('/img/marker.png',new BMap.Size(30, 30))
地理坐标矩形区域,由西南角和东北角两个坐标点确定一个矩形地理范围。常用于获取地图视野范围、判断坐标点是否在指定区域内等场景。
// 创建一个矩形区域const sw = new BMap.Point(116.380, 39.900);const ne = new BMap.Point(116.430, 39.930);const bounds = new BMap.Bounds(sw, ne);// 判断某个点是否在区域内const point = new BMap.Point(116.404, 39.915);bounds.containsPoint(point); // true// 获取中心点const center = bounds.getCenter();// 扩展区域使其包含新的点bounds.extend(new BMap.Point(116.500, 39.950));// 获取当前地图视野范围const mapBounds = map.getBounds()const sw2 = mapBounds.getSouthWest()const ne2 = mapBounds.getNorthEast()
上一篇
下一篇