📅  最后修改于: 2023-12-03 14:51:33.921000             🧑  作者: Mango
在开发使用地图 API 的时候,经常需要获取某个地址对应的经纬度坐标(latlong)。这个过程涉及到了地理编码和反地理编码两个概念。
地理编码是将地址描述转换为经纬度坐标的过程。常见的地理编码 API 有百度地图 API、高德地图 API、谷歌地图 API 等。以下以百度地图 API 为例介绍如何进行地理编码:
const address = "北京市海淀区西二旗";
const url = `http://api.map.baidu.com/geocoder/v2/?address=${address}&output=json&ak=yourAK`;
fetch(url)
.then(response => response.json())
.then(data => {
const latlong = data.result.location;
console.log(latlong);
});
上述代码中,需要替换 yourAK
为你在百度地图开发平台上申请的 API Key。output=json
表示返回格式为 JSON。location
字段表示获取的经纬度坐标。
反地理编码是将经纬度坐标转换为具体的地址描述的过程。常见的反地理编码 API 有百度地图 API、高德地图 API、谷歌地图 API 等。以下以谷歌地图 API 为例介绍如何进行反地理编码:
const latlong = { lat: 40.748817, lng: -73.985428 };
const url = `https://maps.googleapis.com/maps/api/geocode/json?latlng=${latlong.lat},${latlong.lng}&key=yourAPIKey`;
fetch(url)
.then(response => response.json())
.then(data => {
const address = data.results[0].formatted_address;
console.log(address);
});
上述代码中,需要替换 yourAPIKey
为你在谷歌地图控制台上申请的 API Key。latlng
参数表示需要反地理编码的经纬度坐标。formatted_address
字段表示获取的地址描述。
注意,使用地理编码和反地理编码 API 时需要注意以下几点: