判断经纬度点是否在某城市范围内-----高德地图

  // 创建点
   var marker = new AMap.Marker({
       map: map,
       draggable:true,
       position: [116.566298, 40.014179]
   });
   //获取城市边界的经纬度
  new AMap.DistrictSearch({
    subdistrict: 0,   //返回下一级行政区
    extensions: 'all',  //返回行政区边界坐标组等具体信息
    level: 'province'  //查询行政级别为 市
  }).search('中国', function (status, result) {
    new AMap.DistrictSearch({
      subdistrict: 0,   //返回下一级行政区
      extensions: 'all',  //返回行政区边界坐标组等具体信息
      level: 'city'  //查询行政级别为 市
    }).search('西双版纳', function (status, result) {
      console.log(result)
      var bounds = result.districtList[0].boundaries;
      let latlngArr=[]
      for (var i = 0; i < bounds.length; i += 1) {
        let arr=JSON.parse(JSON.stringify(bounds[i]));
        arr.map(item=>{
          latlngArr.push([item.lng,item.lat])
        })
      }
      // console.log(JSON.stringify(latlngArr))
     	var point = marker.getPosition();
    	var isPointInRing = AMap.GeometryUtil.isPointInRing(point, latlngArr);
        if (isPointInRing) {
        	console.log('此点在西双版纳范围内')
        } else {
           console.log('此点不在西双版纳范围内')
        }
    });
  });

latlngArr的数据格式图片:
在这里插入图片描述


版权声明:本文为biubiubiuPlus原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。