如何使用 Bing 地图检索邮政地址的纬度和经度?

问题描述

我希望能够检索给定地址的地理坐标(纬度和经度)。如果我有完整的地址(街道地址 + 城市 + 州 + 邮政编码),我希望我能做到这一点。

如果有关系,我正在使用 Bing 地图。我得到的骨架代码是这样的(fullAddress、Addpushpin() 和 getGeoCordsForAddress() 是最相关的部分):

sub

解决方法

Microsoft 有一个官方 BingMapsRESTToolkit,可帮助您轻松使用 Bing Maps REST Services。为此,您需要安装 BingMapsRESTToolkit NuGet Package

在这里,您对 GeocodeRequest 感兴趣以按地址获取位置。

示例 - 按地址获取纬度和经度并在地图上创建图钉

安装 BingMapsRESTToolkit NuGet 包并运行以下代码:

private async void button1_Click(object sender,EventArgs e)
{
   var request = new GeocodeRequest();
   request.BingMapsKey = "YOUR MAP KEY";

   request.Query = "172 Jalan Pinang,50088 Kuala Lumpur," +
           "Federal Territory of Kuala Lumpur,Malaysia";
   //OR
   //request.Address = new SimpleAddress()
   //{
   //    CountryRegion = "Malaysia",//    AddressLine = "172 Jalan Pinang",//    AdminDistrict = "Kuala Lumpur,Federal Territory of Kuala Lumpur",//    PostalCode = "50088",//};

   var result = await request.Execute();
   if (result.StatusCode == 200)
   {
       var toolkitLocation = (result?.ResourceSets?.FirstOrDefault())
               ?.Resources?.FirstOrDefault()
               as BingMapsRESTToolkit.Location;
       var latitude = toolkitLocation.Point.Coordinates[0];
       var longitude = toolkitLocation.Point.Coordinates[1];
       var mapLocation = new Microsoft.Maps.MapControl.WPF.Location(latitude,longitude);
       this.userControl11.myMap.SetView(mapLocation,15);
       var p = new Pushpin() { Location = mapLocation,ToolTip = "KLCC Park" };
       this.userControl11.myMap.Children.Add(p);
   }
}

enter image description here

如何在 Windows 窗体中使用 WPF Bing 地图:

Bing Maps REST Toolkit 相关资源: