我们可以使用以下代码示例来解决这个问题:
import requests
import json
# 使用 Bing Maps API 访问 geocode 数据
def geocode_location(location):
endpoint = f'https://dev.virtualearth.net/REST/v1/Locations?q={location}&key={BING_MAPS_API_KEY}'
response = requests.get(endpoint)
if response.status_code == 200:
geodata = json.loads(response.content.decode('utf-8'))
if geodata['resourceSets'][0]['estimatedTotal'] > 0:
lat = geodata['resourceSets'][0]['resources'][0]['geocodePoints'][0]['coordinates'][0]
lon = geodata['resourceSets'][0]['resources'][0]['geocodePoints'][0]['coordinates'][1]
return {"latitude":lat, "longitude":lon}
return None
# 使用该函数获取地点的经纬度
location = "Seattle, WA"
geocode_data = geocode_location(location)
if geocode_data is not None:
print(f"The latitude and longitude of {location} is {geocode_data['latitude']}, {geocode_data['longitude']}")
else:
print(f"Could not geocode {location}")
这段代码使用了 Bing Maps API 来获取地点的经纬度。如果返回的 Geocode Dataflow 数据不准确,我们可以使用此方法来获取更加准确的结果。