当前位置: 首页 > news >正文

支付公司网站建设费账务处理网域高科学校网站管理系统

支付公司网站建设费账务处理,网域高科学校网站管理系统,中国建设银行网站余额查询,重庆建站模板文章目录 1.最终效果预览2.计算两点之间的距离3.将点线画到地图上4.动态展示点线的变化5.动态画线6.动态画点 1.最终效果预览 2.计算两点之间的距离 let dis this.utilsTools.returnDisByCoorTrans(qdXYData, zdXYData, 4549)当距离小于我们在配置文件中预设置的… 文章目录 1.最终效果预览2.计算两点之间的距离3.将点线画到地图上4.动态展示点线的变化5.动态画线6.动态画点 1.最终效果预览 2.计算两点之间的距离 let dis this.utilsTools.returnDisByCoorTrans(qdXYData, zdXYData, 4549)当距离小于我们在配置文件中预设置的值时调用我们自定义开发的导航大于预设值则调用百度或者高德导航 在utilsTools工具类中我们封装了如下方法 returnDisByCoorTrans(curxy, tarxy, wikid) {let dis 0;let pxy1 this.coordinateUtil.coorConvert(curxy[latitude], curxy[longitude], wikid)let pxy2 this.coordinateUtil.coorConvert(tarxy[y], tarxy[x], wikid)let pA {x: pxy1.x,y: pxy1.y,}let pB {x: pxy2.x,y: pxy2.y,}dis this.returnDistanceByTwoPoint(pA, pB)return dis}在坐标转换工具类coordinateUtil中我们封装了如下方法参数以江苏通州为例 coorConvert(lat, lon, targetWikid): any {if (targetWikid 4549) {this.aAxis_Target 6378137;this.bAxis_Target 6356752.31414;this.m_dbMidLongitude 120;return this.gaussBLtoXY(lat, lon, this.aAxis_Target, this.bAxis_Target, this.m_dbMidLongitude);} }public gaussBLtoXY(mX: number, mY: number, Axis_Target_a: number, Axis_Target_b: number, m_dbMidLongitude: number): any {let m_aAxis Axis_Target_a; //参考椭球长半轴let m_bAxis Axis_Target_b; //参考椭球短半轴//double m_dbMidLongitude transParaSeven.daihao*3;//中央子午线经度 济南117 威海123 巴州 87 通州120let m_xOffset 500000;let m_yOffset 0.0;try {//角度到弧度的系数let dblD2R Math.PI / 180;//代表e的平方let e1 (Math.pow(m_aAxis, 2) - Math.pow(m_bAxis, 2)) / Math.pow(m_aAxis, 2);//代表e的平方let e2 (Math.pow(m_aAxis, 2) - Math.pow(m_bAxis, 2)) / Math.pow(m_bAxis, 2);//a0let a0 m_aAxis * (1 - e1) * (1.0 (3.0 / 4.0) * e1 (45.0 / 64.0) * Math.pow(e1, 2) (175.0 / 256.0) * Math.pow(e1, 3) (11025.0 / 16384.0) * Math.pow(e1, 4));//a2 let a2 -0.5 * m_aAxis * (1 - e1) * (3.0 / 4 * e1 60.0 / 64 * Math.pow(e1, 2) 525.0 / 512.0 * Math.pow(e1, 3) 17640.0 / 16384.0 * Math.pow(e1, 4));//a4let a4 0.25 * m_aAxis * (1 - e1) * (15.0 / 64 * Math.pow(e1, 2) 210.0 / 512.0 * Math.pow(e1, 3) 8820.0 / 16384.0 * Math.pow(e1, 4));//a6let a6 (-1.0 / 6.0) * m_aAxis * (1 - e1) * (35.0 / 512.0 * Math.pow(e1, 3) 2520.0 / 16384.0 * Math.pow(e1, 4));//a8let a8 0.125 * m_aAxis * (1 - e1) * (315.0 / 16384.0 * Math.pow(e1, 4));纬度转换为弧度表示//Blet B mX * dblD2R;//llet l (mY - m_dbMidLongitude) * dblD2R;Xlet X a0 * B a2 * Math.sin(2.0 * B) a4 * Math.sin(4.0 * B) a6 * Math.sin(6.0 * B) a8 * Math.sin(8.0 * B);//let ll Math.pow(Math.cos(B), 2) * e2;let c m_aAxis * m_aAxis / m_bAxis;//Nlet N c / Math.sqrt(1 ll);//tlet t Math.tan(B);let p Math.cos(B) * l;let dby X N * t * (1 ((5.0 - t * t (9.0 4.0 * ll) * ll) ((61.0 (t * t - 58.0) * t * t (9.0 - 11.0 * t * t) * 30.0 * ll) (1385.0 (-31111.0 (543 - t * t) * t * t) * t * t) * p * p / 56.0) * p * p / 30.0) * p * p / 12.0) * p * p / 2.0;let dbx;dbx N * (1.0 ((1.0 - t * t ll) ((5.0 t * t * (t * t - 18.0 - 58.0 * ll) 14 * ll) (61.0 (-479.0 (179.0 - t * t) * t * t) * t * t) * p * p / 42.0) * p * p / 20.0) * p * p / 6.0) * p;let mTargetX dbx m_xOffset;let mTargetY dby m_yOffset;return { x: mTargetX, y: mTargetY };}catch (ex) {console.error(ex);return null;}}3.将点线画到地图上 this.utilsTools.navigationByPointsSelf(curXY, tarXY, 2, this.angleValue)在utilsTools工具类中封装了画点及画线的方法如下 navigationByPointsSelf(beginPoint, endPoint, expand, angle) {this.locatedByBeginNavigationPoint(beginPoint, [pointerArrow], navigationLayer, angle)this.locatedByEndNavigationPoint(endPoint, [runendsymbol], navigationPointLayer)this.drawNavigationFirstLine(beginPoint, endPoint, navigationLayer, polylineDASH)this.drawNavigationLineFirstByLocation(beginPoint, endPoint, expand)}画当前点locatedByBeginNavigationPoint 画终点locatedByEndNavigationPoint 画当前点与终点的连线drawNavigationFirstLine 将点线的范围缩放到页面适当位置drawNavigationLineFirstByLocation locatedByEndNavigationPoint(endPoint, endSymbol, layerName) {let pointEndObj {x: Number(endPoint.longitude),y: Number(endPoint.latitude),spatialReference: { wkid: this.mapConfig.wkid, latestWkid: this.mapConfig.wkid }}let geoJson JSON.stringify(pointEndObj)let attObj let oneObj { geomertyJSON: geoJson, attributes: attObj };let symbol { point: endSymbol };this.mapTool.AddGraphicToLayer(layerName, [oneObj], symbol);}locatedByBeginNavigationPoint(beginPoint, beginSymbols, layerName, angleValue) {let pointBeginObj {x: Number(beginPoint.longitude),y: Number(beginPoint.latitude),spatialReference: { wkid: this.mapConfig.wkid, latestWkid: this.mapConfig.wkid }}let pgeoJson JSON.stringify(pointBeginObj)let pattObj {angle: angleValue}let beginObj { geomertyJSON: pgeoJson, attributes: pattObj };let symbolpoint { point: beginSymbols };this.mapTool.AddGraphicToLayer(layerName, [beginObj], symbolpoint)}drawNavigationLineFirstByLocation(beginPoint, endPoint, expand) {let geoObj {type: polyline,paths: [[[Number(beginPoint.longitude), Number(beginPoint.latitude)],[Number(endPoint.longitude), Number(endPoint.latitude)]]],spatialReference: { wkid: this.mapConfig.wkid, latestWkid: this.mapConfig.wkid }}this.mapTool.setExtentByGeo(geoObj, expand)}drawNavigationFirstLine(beginPoint, endPoint, layerName, lineSymbol) {let geoObj {paths: [[[Number(beginPoint.longitude), Number(beginPoint.latitude)],[Number(endPoint.longitude), Number(endPoint.latitude)]]],spatialReference: { wkid: this.mapConfig.wkid, latestWkid: this.mapConfig.wkid }}let geoJson JSON.stringify(geoObj)let attObj {}let oneObj { geomertyJSON: geoJson, attributes: attObj };let symbol { polyline: [lineSymbol] };this.mapTool.AddGraphicToLayer(layerName, [oneObj], symbol);}在mapTool工具类中封装了将点或者线添加到地图上的操作 4.动态展示点线的变化 this.navigationInterval setInterval(() {this.setIntervalData(curXY, tarXY)}, 1500);async setIntervalData(curXY, tarXY) {this.angleValue await this.utilsTools.getAngleData()curXY await this.utilsTools.getDynamicCurXY(curXY)this.topNavigationMsg this.utilsTools.getTopNavigationBoxMgs(curXY, tarXY)this.utilsTools.getCaluShowNavigationByInterval(curXY, tarXY, this.angleValue, 2)}在工具类utilsTools中封装了获取当前设备角度的方法getAngleData 在工具类utilsTools中封装了动态获取当前位置的方法getDynamicCurXY 在工具类utilsTools中封装了动态展示导航顶部弹框数据方法getTopNavigationBoxMgs 在工具类utilsTools中封装了动态画点及线的方法getCaluShowNavigationByInterval 动态获取当前设备旋转角度 getAngleData() {return new Promise((resolve, reject) {let value 0if (this.mapConfig.isTestData) {value this.getRandomInt(0, 360)resolve(value)} else {this.deviceOrientation.getCurrentHeading().then((data: DeviceOrientationCompassHeading) {value data[magneticHeading]resolve(value)},(error: any) {reject(value)});}});} 动态获取当前坐标 async getDynamicCurXY(xyData) {if (this.mapConfig.isTestData) {xyData.longitude xyData.longitude - 0.0008xyData.latitude xyData.latitude - 0.0008} else {let obj Object.assign({}, this.mapConfig.mapLocationObj)obj.isKeepCallBack falsexyData await this.getXYLocationDataByDeviceType(obj)}return xyData}导航顶部信息展示 getTopNavigationBoxMgs(beginPoint, endPoint) {let topNavigationMsg {up: true,upDistance: ,down: false,downDistance: ,left: true,leftDistance: ,right: false,rightDistance: ,difDistance: ,lineDistance: ,}let pxy1 this.coordinateUtil.coorConvert(beginPoint.latitude, beginPoint.longitude, 4549)let pxy2 this.coordinateUtil.coorConvert(endPoint.latitude, endPoint.longitude, 4549)let pA {x: pxy1.x,y: pxy1.y,}let pB {x: pxy2.x,y: pxy2.y,}let dis: any this.returnDistanceByTwoPoint(pA, pB)let dx (pA.x - pB.x)let dy (pA.y - pB.y)if (dx 0) {topNavigationMsg.right falsetopNavigationMsg.left truetopNavigationMsg.leftDistance Math.abs(dx).toFixed(2)} else {topNavigationMsg.right truetopNavigationMsg.left falsetopNavigationMsg.rightDistance Math.abs(dx).toFixed(2)}if (dy 0) {topNavigationMsg.down truetopNavigationMsg.up falsetopNavigationMsg.downDistance Math.abs(dy).toFixed(2)} else {topNavigationMsg.down falsetopNavigationMsg.up truetopNavigationMsg.upDistance Math.abs(dy).toFixed(2)}topNavigationMsg.lineDistance distopNavigationMsg.difDistance 0return topNavigationMsg} 动态画当前点与线的变化 getCaluShowNavigationByInterval(curxy, tarxy, angle, expand) {this.drawNavigationLineDynamic(curxy, tarxy, navigationLayer, polylineDASH, expand)this.locatedByBeginNavigationPoint(curxy, [pointerArrow], navigationLayer, angle)}5.动态画线 drawNavigationLineDynamic(beginPoint, endPoint, layerName, lineSymbol, expand) {let geoObj {type: polyline,paths: [[[Number(beginPoint.longitude), Number(beginPoint.latitude)],[Number(endPoint.longitude), Number(endPoint.latitude)]]],spatialReference: { wkid: this.mapConfig.wkid, latestWkid: this.mapConfig.wkid }}let geoJson JSON.stringify(geoObj)let attObj {}let oneObj { geomertyJSON: geoJson, attributes: attObj };let symbol { polyline: [lineSymbol] };this.mapTool.ClearGraphicLayerById(layerName)this.mapTool.AddGraphicToLayer(layerName, [oneObj], symbol);this.mapTool.setCenterByGeo(geoObj, expand, 0.0001)每次画线前需要将之前图层的起点与线清除ClearGraphicLayerById 画完点线后根据设定的距离判断是否进行缩放setCenterByGeo0.0001度大约是11米在mapTool工具类中封装了所有的地图方面的操作方法基本都是集成的arcgis中的方法 6.动态画点 画带有角度的当前位置点 locatedByBeginNavigationPoint(beginPoint, beginSymbols, layerName, angleValue) {let pointBeginObj {x: Number(beginPoint.longitude),y: Number(beginPoint.latitude),spatialReference: { wkid: this.mapConfig.wkid, latestWkid: this.mapConfig.wkid }}let pgeoJson JSON.stringify(pointBeginObj)let pattObj {angle: angleValue}let beginObj { geomertyJSON: pgeoJson, attributes: pattObj };let symbolpoint { point: beginSymbols };this.mapTool.AddGraphicToLayer(layerName, [beginObj], symbolpoint)}
http://www.dnsts.com.cn/news/278252.html

相关文章:

  • 专业做算命网站网易企业邮箱注册入口官网
  • 番禺建设网站公司排名skech做网站交互流程
  • 吉林省网站制作公司有哪些关于网站建设的意义
  • 北京 网站设计找时代创信好怎么做外贸网站推广
  • 郑州网站排名优化外包wordpress手机边栏
  • 网站建设需要哪些方面如何设计网站以网络为中心的企业文化
  • 青岛一品网站建设wordpress 忘记用户名
  • 专业的网站建设宝安西乡wordpress论坛程序
  • express 网站开发手机视频转码vue
  • 免费seo优化工具西安百度推广优化公司
  • 潍坊可以做网站的公司wordpress评论置顶
  • 湛江网站制作网站免费微网站哪个好用
  • 公司注册网站系统seo工作内容有哪些
  • 手机访问pc网站自动跳转手机端网站代码修改wordpress 2m
  • 世界工厂网登录seo公司推荐推广平台
  • 网站建设如何把代码东莞南城招聘网
  • 海南网站推广网站建设素材模板
  • 网站建设试卷seo顾问服务 乐云践新专家
  • 品牌网站建设公司排名网站建设属于哪类税率
  • 中国钓鱼网站大全sticklr wp wordpress
  • 电子商务网站开发策划青岛seo做的好的网站
  • 临海市建设局官网站wap网站要花多少钱
  • 做药的常用网站有哪些十种人不适合学建筑
  • 云南哪里有给做网站的捕鱼游戏网站制作模板
  • 建设公司门户网站建设方案外贸营销方案
  • 海口网站设计建设那里可以找建网站的人
  • 俄文企业网站建设建程网会员
  • 网站做弹窗广告企业网盘软件
  • 让网站会员做产品标签确认南京网站建设索q.479185700
  • 一个网站想看访客量怎么做哪有学电脑培训班