利用高德api判斷 經緯度點是否在某個區域範圍內
阿新 • • 發佈:2020-12-08
主要是利用 數學計算庫api AMap.GeometryUtil.isPointInRing
通過判斷返回值的true false來判斷
lnglat是該點的經緯度:
lnglarArr是該區域的周邊經緯度點的集合,
lnglarArr可以通過 AMap.DistrictSearch 來獲取
AMap.plugin('AMap.DistrictSearch', function () { var districtSearch = new AMap.DistrictSearch({ level: 'district', subdistrict: 0, extensions: 'all' }) // 搜尋所有省/直轄市資訊 districtSearch.search('蕭山區', function (status, result) { console.log("status, result===", status, 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]) }) } var isPointInRing = AMap.GeometryUtil.isPointInRing(lnglat, latlngArr) console.log("isPointInRing", isPointInRing) }) })
附上api連結:
AMap.DistrictSearch: https://lbs.amap.com/api/javascript-api/reference/search#m_AMap.DistrictSearch
AMap.GeometryUtil: https://lbs.amap.com/api/javascript-api/reference/math