我正在与 GMap.net(一个使我们能够在 Win Forms 应用程序中使用 Google 地图的库)一起开发 Win Forms 应用程序。开门见山,我能够获得鼠标单击(左键单击)的坐标(纬度和经度)。
private void gm1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
double lat = gm1.FromLocalToLatLng(e.X, e.Y).Lat;
double lng = gm1.FromLocalToLatLng(e.X, e.Y).Lng;
}
}
我没有找到一种方法来获取该地点的位置,即国家/地区名称、城市名称等。
我搜索过谷歌地图论坛,但没有找到这个问题的答案。
Any
这将为您提供您在地图上单击的位置上的命名地点列表。
private void map_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
double lat = map.FromLocalToLatLng(e.X, e.Y).Lat;
double lng = map.FromLocalToLatLng(e.X, e.Y).Lng;
}
List<Placemark> plc = null;
var st = GMapProviders.GoogleMap.GetPlacemarks(map.FromLocalToLatLng(e.X, e.Y), out plc);
if (st == GeoCoderStatusCode.G_GEO_SUCCESS && plc != null)
{
foreach (var pl in plc)
{
if (!string.IsNullOrEmpty(pl.PostalCodeNumber))
{
Debug.WriteLine("Accuracy: " + pl.Accuracy + ", " + pl.Address + ", PostalCodeNumber: " + pl.PostalCodeNumber);
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)