以下是一个不使用地图的Mapbox地理编码器的示例解决方法:
import requests
import json
def geocode(address):
# 使用Mapbox的Geocoding API的URL
url = 'https://api.mapbox.com/geocoding/v5/mapbox.places/{address}.json'
# 替换URL中的地址参数
url = url.replace('{address}', address)
# 设置访问令牌
access_token = 'YOUR_MAPBOX_ACCESS_TOKEN'
# 构建请求参数
params = {
'access_token': access_token
}
# 发送请求
response = requests.get(url, params=params)
# 解析响应
data = json.loads(response.text)
# 提取经纬度坐标
if 'features' in data:
if len(data['features']) > 0:
coordinates = data['features'][0]['geometry']['coordinates']
return coordinates
return None
address = '1600 Pennsylvania Ave NW, Washington, DC 20500'
coordinates = geocode(address)
if coordinates is not None:
latitude = coordinates[1]
longitude = coordinates[0]
print(f'经度:{longitude}')
print(f'纬度:{latitude}')
else:
print('未找到该地址的坐标')
请注意替换访问令牌(YOUR_MAPBOX_ACCESS_TOKEN)为您自己的Mapbox访问令牌。
这个示例代码将使用Mapbox的Geocoding API来执行地理编码,返回给定地址的经纬度坐标。