📜  在这里 map api javascript 中获取地址的 latlong(1)

📅  最后修改于: 2023-12-03 14:51:33.921000             🧑  作者: Mango

在这里 map api javascript 中获取地址的 latlong

在开发使用地图 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 时需要注意以下几点:

  • API Key 需要在地图控制台上申请,遵循相关使用协议;
  • API 使用频率需要合理,不得超过 API 规定的阈值;
  • API 请求需要注意安全性,不能在前端直接进行,需要通过后端中转。