格式化城市/州信息

时间:2011-01-18 22:37:12

标签: asp.net geocoding bing-maps

我有一个存储用户家乡,州和国家的应用程序。我不特别需要做验证;应用程序的其他任何部分都不依赖于数据,但我希望格式化为虚荣,并避免以后在数据库中使用“北卡罗莱纳州”,“NC”,“北卡罗莱纳州”等等。

有没有人知道通过Bing地图的方式(我更喜欢Bing而不是谷歌,因为到目前为止我已经在这个项目中使用它)一个搜索字符串并获得一个对象,其地址由服务解释? (即通过“charlotte,nc”并返回“Charlotte,North Carolina,United States”)

我查看了VEPlace(在MSDN上),但我不确定如何确保从Name属性中恢复我希望的格式。任何人都知道如何最好地解决这个问题?

此外,该项目的后端是ASP.NET MVC,所以如果有一种方法可以在C#中执行,它涉及一个控制器或类似的东西,完全没问题。

2 个答案:

答案 0 :(得分:1)

我想我可能找到了解决方案:GeocodeServiceRequest.ReverseGeocodeRequest方法(在MSDN上)返回一个GeocodeResponse类,其中包含Address成员。这又具有以我想要的方式形成地址所需的所有属性。因此,将有一个控制器,其中Action将采用字符串形式的地址,这将发送回格式正确的版本。

我将尝试这个并在几个小时内更新代码。它不是完全客户端,这是次优的,但它看起来会很好。

答案 1 :(得分:0)

我怀疑您需要执行以下操作:

  1. 查询Bing / Google地图以获取该城市的纬度/经度。
  2. 使用反向地理编码查找lat / lng以获得一致的命名约定。 (看起来你已经发现了这个。这里有一个链接:http://blog.bobcravens.com/2011/01/a-windows-phone-7-trip-recorder/
  3. 如果你这样打破了它,你可能希望用你从浏览器的地理位置api获得的lat / lng为#1播种。

    鲍勃