换了新公司,接触新行业,半路出家,看着别人的代码,看着api慢慢理解。

需求如下;已知两点坐标求距离。

思路,没有,站在同事的肩膀上踩路子,给的这个链接 https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-GeometryService.html#distance

综合看完,基本调用如下:

new GeometryService(url).distance(new DistanceParameters(distanceUnit,geodesic,geometry1,geometry2),function(){})

注意:这个是基于地图的,地图一定得打开;geometry1 看是在哪种多边形下,两点的距离 是在 esri/geometry/Point 模块下的;创建方法为

getTwoPointDis(x1,y1,x2,y2,cb)  //传入点参数

function getTwoPointDis(x1,y1,x2,y2,cb){
  var p1,p2;
  map.task.getNewPoint(x1,y1,function(e){
    p1 = e
  });
  map.task.getNewPoint(x2,y2,function(e){
    p2 = e
  });
  var dd = new DistanceParam();
  dd.geometry1 = p1;
  dd.geometry2 = p2;
  map.task.geometryService(dd, function(e){
    var e = e.toFixed(3);
    cb(e)
  });
}

geometryService:(dd,successCallBack,errorCallBack){  //计算距离参数

  var distanceParameters = new DistanceParameters();
  distanceParameters.geometry1 = param.geometry1;
  distanceParameters.geometry2 = param.geometry2;
  distanceParameters.geodesic = param.geodesic;
  distanceParameters.distanceUnit = param.distanceUnit;
  geoService.distance(distanceParameters, successCallBack, errorCallBack);

}

 

getNewPoint:function(x,y,successCallBack){  //初始化点
  var p1 = new esri.geometry.Point();
  p1.x = x;
  p1.y = y;
  p1.spatialReference = this._impl._map.spatialReference;
  successCallBack(p1)
}

 
 

arcgis for js 之 获取两点之间的距离的更多相关文章

  1. JAVA通过经纬度获取两点之间的距离

    private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math ...

  2. sql server2008根据经纬度计算两点之间的距离

    --通过经纬度计算两点之间的距离 create FUNCTION [dbo].[fnGetDistanceNew] --LatBegin 开始经度 --LngBegin 开始维度 --29.49029 ...

  3. 2D和3D空间中计算两点之间的距离

    自己在做游戏的忘记了Unity帮我们提供计算两点之间的距离,在百度搜索了下. 原来有一个公式自己就写了一个方法O(∩_∩)O~,到僵尸到达某一个点之后就向另一个奔跑过去 /// <summary ...

  4. js通过经纬度计算两点之间的距离

    最近这几天在做地图的时候,获取到目的地经纬度和当前所在位置的经纬度,通过这几个参数,用js代码就能获取到这两点之间的直线距离: function (lat1, lng1, lat2, lng2) { ...

  5. 利用JS实现的根据经纬度计算地球上两点之间的距离

      最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距 ...

  6. 武汉科技大学ACM :1006: 零起点学算法25——求两点之间的距离

    Problem Description 输入平面坐标系中2点的坐标,输出它们之间的距离 Input 输入4个浮点数x1 y1 x2 y2,分别是点(x1,y1) (x2,y2)的坐标(多组数据) Ou ...

  7. JS如何使用Math.atan2获取两点之间角度的实践案例

    本文主要介绍使用如何实现手动拖拽旋转元素的效果. 1.简述 最近在研究如何实现手动控制元素的旋转效果,在网上找了很多,都没有找出类似的实现,因此经过一些调研和计算,最终完美实现效果,在这里记录下来. ...

  8. 微信小程序两点之间的距离

    1:申请key: https://lbs.qq.com/dev/console/application/mine 网址: https://note.youdao.com/ynoteshare/inde ...

  9. Arcgis for Js之GeometryService实现測量距离和面积

    距离和面积的測量时GIS常见的功能.在本节,讲述的是通过GeometryService实现測量面积和距离.先看看实现后的效果: watermark/2/text/aHR0cDovL2Jsb2cuY3N ...

随机推荐

  1. [jzoj]4216.【NOIP2015模拟9.12】平方和

    Link https://jzoj.net/senior/#main/show/4216 Description 给出一个N个整数构成的序列,有M次操作,每次操作有一下三种: ①Insert Y X, ...

  2. css 文本设置

    常用的应用文本的css样式: (1)color 设置文字和颜色,如:color:red; (2)font-size 设置文字的大小,如:font-size:20px; (3)font-family 设 ...

  3. 转 InnoDB Error Handling

    14.20.4 InnoDB Error Handling Error handling in InnoDB is not always the same as specified in the SQ ...

  4. 2018-2019-1 20189210 《LInux内核原理与分析》第九周作业

    进程的切换和系统的一般执行过程 (1)进程调度的时机 1.schedule是一个内核函数,不是一个系统调用,进程的调度只发生在内核中,进程调度函数schedule()只能在内核中被调用,用户进程无法调 ...

  5. HDU 6321 Dynamic Graph Matching

    HDU 6321 Dynamic Graph Matching (状压DP) Problem C. Dynamic Graph Matching Time Limit: 8000/4000 MS (J ...

  6. js_js流程控制

    1.表达式.语句 2.流程控制 顺序   分支   循环 分支   循环结构都有一个条件 循环结构:重复做一件事 3元运算符 switch语句(用来做相等性判断--优先考虑) 注意: 1.switch ...

  7. 使用docker搭建centos虚拟机

    网上有很多安装linux的,这里不记录; windows安装docker 转自:https://www.cnblogs.com/samwu/p/10360943.html(windows是家庭版的) ...

  8. iOS代码组件化--利用cocoaPods创建私有库

    如果项目模块多,模块间逻辑复杂,我们发现多个人同时维护一个代码仓库需要十分小心,一不小心,造成冲突,解决起来很烦,相信很多人都遇到手工删除合并的冲突的文件的经历. 如果利用组件化思想,每个人维护自己的 ...

  9. c#4.8-4.11学习总结

    4.8讲的是static 关键字.它用于修饰类 ,字段 ,属性,方法和构造方法等.被它修饰的类称为静态类,成员称为静态成员.  先说静态字段,它是普通字段前面加个static,它不属于任何对象,只属于 ...

  10. mint-ui笔记

    1.安装: npm install mint-ui --save npm install babel-plugin-component --save-dev //(只引入部分组件时需要安装) 2.导入 ...