You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何借助Azure Maps根据美国县和州信息获取对应经纬度?

问题

我的应用有大量用户不愿提供详细地址,但愿意提供所在县和州信息(无邮编)。我需要获取该县的中心(或近似中心)点经纬度,以便为用户推送附近活动。

我目前使用Azure Maps服务:

  • 当有完整地址时,调用MapsSearchClient.SearchAddress("1 Main St., Anytown, CO, 80000");
  • 当仅有邮编时,使用以下代码:
var address = new StructuredAddress()
{
    PostalCode = zipCode,
    CountryCode = "US"
};
var result = await SearchClient.SearchStructuredAddressAsync(address);

请问仅提供县、州和"US"国家代码时,是否可通过StructuredAddress或其他Azure Maps接口获取对应位置的经纬度?

回答

可以通过Azure Maps的接口实现这个需求,具体有两种可行方式:

1. 直接使用StructuredAddress填充县和州字段

StructuredAddress类支持设置**县(AdminDistrict2)和州(AdminDistrict)**字段,结合国家代码就能发起精准查询。示例代码如下:

var address = new StructuredAddress()
{
    AdminDistrict = "CO", // 支持州缩写或全称,比如"Colorado"
    AdminDistrict2 = "Denver", // 县的完整名称
    CountryCode = "US"
};
var result = await SearchClient.SearchStructuredAddressAsync(address);

查询结果中,Results[0].Position就是该县的近似中心点经纬度。

2. 使用模糊搜索接口SearchFuzzyAsync

如果需要兼容非标准化的输入(比如县名的简称、拼写变体),可以直接传入"县名, 州名, US"格式的文本进行模糊搜索:

var result = await SearchClient.SearchFuzzyAsync("Denver, CO, US");

该接口会自动识别行政区划信息,返回对应的中心点位置,适配性更强。

注意事项:

  • 尽量确保县和州的名称/缩写准确,避免重名县导致的定位偏差;
  • 部分人口稀少的县返回的中心点精度可能稍低,但完全能满足附近活动推送的需求。

内容的提问来源于stack exchange,提问作者David Thielen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 17:42:32