К сожалению, я не нашел ни одного API Карт, предоставляющего эти данные.Но я нашел обходной путь для этого, получив многоугольник определенного барангая и проверив, находятся ли координаты внутри этого многоугольника. geojsonph предоставляет все полигоны барангов на Филиппинах в формате GeoJson .Я также использовал geojson-geometry-lookup's getContainers()
для проверки, находится ли координата внутри barangay.
import GeoJsonGeometriesLookup from 'geojson-geometries-lookup'
import geoJson from 'Barangays.json'
export default function(lat, long) {
const glookup = new GeoJsonGeometriesLookup(geoJson)
const point = {type: "Point", coordinates: [long, lat]}
const containersCount = glookup.countContainers(point)
if(containersCount == 0){
// no barangays found
return null
}else{
// coordinate is inside a polygon
let result = glookup.getContainers(point, options)
return result
}
}
getContainers(point)
проверит все заданные многоугольники внутри Barangays.json
, который содержит point
, затем возвращает объект в формате геойсон.Если вы хотите получить имя барангая:
let long = 121.00436210632324
let lat = 14.603881611661933
let res = getBarangay(lat, long)
console.log(res.properties.NAME_3)
Надеюсь, это поможет!