添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
失落的饼干  ·  中牟县政府采购网·  1 年前    · 
文质彬彬的拐杖  ·  大唐玄奘 - 知乎·  2 年前    · 
聪明伶俐的铁板烧  ·  hhfghh😜的贴吧·  2 年前    · 
carDiv.id = "car"; var html=""; html+='
'; carDiv.innerHTML = html; document.body.appendChild(carDiv); carOverLay = new ol.Overlay({ position: point, positioning: 'bottom-center', offset:[6,-1], element:document.getElementById('car') mapServer.addOverlay(carOverLay); * 根据坐标获取角度数,以正上方为0度作为参照 function getAngle(lng_a,lat_a, lng_b, lat_b){ var a = (90 - lat_b) * Math.PI / 180; var b = (90 - lat_a) * Math.PI / 180; var AOC_BOC = (lng_b - lng_a) * Math.PI / 180; var cosc = Math.cos(a) * Math.cos(b) + Math.sin(a) * Math.sin(b) * Math.cos(AOC_BOC); var sinc = Math.sqrt(1 - cosc * cosc); var sinA = Math.sin(a) * Math.sin(AOC_BOC) / sinc; var A = Math.asin(sinA) * 180 / Math.PI; var res = 0; if (lng_b > lng_a && lat_b > lat_a) res = A; else if (lng_b > lng_a && lat_b < lat_a) res = 180 - A; else if (lng_b < lng_a && lat_b < lat_a) res = 180 - A; else if (lng_b < lng_a && lat_b > lat_a) res = 360 + A; else if (lng_b > lng_a && lat_b == lat_a) res = 90; else if (lng_b < lng_a && lat_b == lat_a) res = 270; else if (lng_b == lng_a && lat_b > lat_a) res = 0; else if (lng_b == lng_a && lat_b < lat_a) res = 180; console.log(res); res = res - 88;//减去图片默认角度 return res; 4.3 根据坐标点位获取中间距离 * 计算坐标2点之间的距离 * @param {Array} coordinates 传入坐标坐标系必须和地图坐标系一致 {[144,33],[144,37]} * @return length function formatLength(pointArray){ var length = 0; if(mapServer.getView().getProjection().code_ == "EPSG:4326"){ for (var i = 0, ii = pointArray.length - 1; i < ii; ++i) { var c1 = pointArray[i]; var c2 =pointArray[i+1]; length += ol.sphere.getDistance(c1, c2); }else if(mapServer.getView().getProjection().code_ == "EPSG:3857"){ for (var i = 0, ii = pointArray.length - 1; i < ii; ++i) { var c1 = pointArray[i]; var c2 =pointArray[i+1]; c1 = ol.proj.transform(c1, 'EPSG:3857', 'EPSG:4326'); c2 = ol.proj.transform(c2, 'EPSG:3857', 'EPSG:4326'); length += ol.sphere.getDistance(c1, c2); return length; 4.4 根据距离,间距计算中间所有点位坐标 * 计算两点之间的中间点 * @param {Array} pointDoubleArray 二维数组坐标 * @param {num} cell 每个点之间的距离 function getCenterPoint(pointDoubleArray,cell){ cell = cell == undefined ? 5 : cell; var twolength = formatLength(pointDoubleArray); var rate = twolength/cell; //比例 默认5m/点 var step = Math.ceil(rate); //步数(向上取整) var arr = new Array(); //定义存储中间点数组 var c1 = pointDoubleArray[0];//头部点 var c2 = pointDoubleArray[1];//尾部点 var x1 = c1.x,y1 = c1.y; var x2 = c2.x,y2 = c2.y; for (var i = 1;i