地图方法封装
安装 npm install mmps
判断两个点的距离
mmps.getDistance(lng1,lng1, lat1, lng2, lat2)
计算多个点的距离
mmps.getDistances([lng,lat],[lng,lat],[lng,lat])
wgs84转gcj02(国际转火星)
mmps.wgs84togcj02(lng, lat)
//已判断国内坐标不参与转换
gcj02转wgs84
mmps.gcj02towgs84(lng, lat)
已判断国外坐标不参与转换
xyz坐标系转摩卡托坐标(必应)
mmps.getQuadKey(x,y,z)
墨卡托坐标转xyz坐标系
mmps.getXYZ(quadKey)
//quadKey:必应四进制定位
点是否在区域中(可判断多个区域)
mmps.IsInBannedArea(lng, lat, disableArr)
//disableArr,四层数组,分别代表区域合集、单个区域的点合集、单个点、经度纬度
[[[lng,lat],[lng,lat],[lng,lat],[lng,lat],[lng,lat],[lng,lat]]]
判断四个点连成的两条线是否交叉
mmps.areaNotIntersect(points)
//points代表多个点位的集合,至少4个点位,否则直接判断未无交叉
//无交叉返回true,交叉则返回false
//points至少四个点
[{lat:"",lng:""},{lat:"",lng:""},{lat:"",lng:""},{lat:"",lng:""}]
//多个区域批量判定自交
aearArr.every(item=>areaNotIntersect(item.map(val=>({lat: val[0], lng: val[1]}))))
//aearArr格式
[[[lat,lng],[lat,lng],[lat,lng],[lat,lng],[lat,lng]],[[lat,lng],[lat,lng],[lat,lng],[lat,lng]]]
判断多个区域是否重叠
mmps.isPolygonsOverlap(polygons);
//重叠返回true,不重叠返回false
//polygons是一个二维数组
//格式[[[lat,lng],[lat,lng],[lat,lng],[lat,lng],[lat,lng]],[[lat,lng],[lat,lng],[lat,lng],[lat,lng],[lat,lng],[lat,lng]],[[lat,lng],[lat,lng],[lat,lng],[lat,lng]]]
Comments | NOTHING