高德地图判断经纬度是否在所选的行政区域内

高德地图

//areaCode:6位区域码,不包括00;lnglat:经纬度,格式[lng,lat]
window._AMapSecurityConfig = {  
	securityJsCode: 'xxxx'  
}  
import AMapLoader from '@amap/amap-jsapi-loader'  
  
export function getPostionInMapArea(areaCode, lnglat) {  
	return new Promise((resolve, reject) => {  
		AMapLoader.load({  
		key: 'xxxx', // 申请好的Web端开发者Key,首次调用 load 时必填  
		version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: [  
		'AMap.DistrictSearch'  //该插件有个方法:search 提供搜索,返回布尔值
]  
}).then((AMap) => {  
		let districtSearch = new AMap.DistrictSearch({  
		level: 'city',  
		subdistrict: 0,  
		extensions: 'all'  
})  
districtSearch.search(areaCode, function(status, result) {  
// console.log('status, result===', status, result)  
	let bounds = result.districtList[0].boundaries  
	let latlngArr = []  
	for (var i = 0; i < bounds.length; i += 1) {  
	let arr = bounds[i]  
	arr.forEach(item => {  
	latlngArr.push([item.lng, item.lat])  
})  
}  
	console.log('latlngArr===', lnglat, areaCode)  
	let isPointInRing = AMap.GeometryUtil.isPointInRing(lnglat, latlngArr)  
	console.log('isPointInRing', isPointInRing)  
	resolve(isPointInRing)  
})  
}).catch(e => {  
	reject(e)  
})  
})  
}

你可能感兴趣的:(javascript,高德地图)