几何计算附加库

本章介绍几何计算库中的方法,帮助开发者进行距离、夹角、面积的计算,求取外接矩形,判断点、线、面之间的关系。详细内容请查看附加库参考手册

计算传入路径的距离之和

当需要计算两个或多个地理坐标间的实际地面距离时,可以使用computeDistance方法

示例说明:

 function initMap() {
    var center = new TMap.LatLng(40.02288398281758, 116.28905901239955); //设置中心点坐标
    //初始化地图
    map = new TMap.Map('container', {
      center: center,
      zoom: 14,
      mapStyleId:'style1'
    });
    var startPoint = new TMap.LatLng(40.040452, 116.273486);
    var endPoint= new TMap.LatLng(40.006540, 116.303695);
    var path = [startPoint , endPoint]
    // 计算路径的实际距离
    var distance = TMap.geometry.computeDistance(path);
  }

查看示例

计算点到路径的最短距离

需要计算某一坐标点到线段的最短地面距离时,可以使用computeDistanceToLine方法

示例说明:

 function initMap() {
    var center = new TMap.LatLng(40.02288398281758, 116.28905901239955); //设置中心点坐标
    //初始化地图
    map = new TMap.Map('container', {
      center: center,
      zoom: 14,
      mapStyleId: 'style1'
    });
    var startPoint = new TMap.LatLng(40.040452, 116.273486);
    var endPoint = new TMap.LatLng(40.006540, 116.303695);
    var pos= new TMap.LatLng(40.02971236454193, 116.25663142944768)
    var path = [startPoint , endPoint]
    // 计算点到路径的最短距离
    var distance = TMap.geometry.computeDistanceToLine(pos, path)
  }

判断点是否在多边形内

当需要计算某一坐标点是否在多边形内部时,可以使用isPointInPolygon方法

示例说明:

function initMap() {
    var center = new TMap.LatLng(40.040443786954235, 116.2736683713456); //设置中心点坐标
    //初始化地图
    map = new TMap.Map('container', {
      center: center,
      zoom: 18,
      mapStyleId: 'style1'
    });
    var pos= new TMap.LatLng(40.040452, 116.273486);
    var path = [
      new TMap.LatLng(40.041117253378246, 116.2722415837743),
      new TMap.LatLng(40.03942536171407, 116.2726277820093),
      new TMap.LatLng(40.03970460886076, 116.27483769345417),
      new TMap.LatLng(40.041404706498625, 116.27443003983899),
    ]
    // 判断点是否在多边形内
    var isIn = TMap.geometry.isPointInPolygon(pos, path)
  }

查看示例

这篇文章对您解决问题是否有帮助?

已解决
未解决