如何在c#中显示gmap中的地址?

如何在c#中显示gmap中的地址?,c#,gmap.net,C#,Gmap.net,我在我的项目中使用Gmap,我想显示一个地址 我尝试使用BingMap、雅虎、OpenStreet和谷歌地图。但我不能显示地址。 我写了这段代码: private void gMapControl1_MouseClick(object sender, MouseEventArgs e) { PointLatLng myPoint= gMapControl1.FromLocalToLatLng(e.X, e.Y); // GetAddress is

我在我的项目中使用Gmap,我想显示一个地址

我尝试使用BingMap、雅虎、OpenStreet和谷歌地图。但我不能显示地址。 我写了这段代码:

private void gMapControl1_MouseClick(object sender, MouseEventArgs e)
        {

                PointLatLng myPoint= gMapControl1.FromLocalToLatLng(e.X, e.Y);
// GetAddress is my Method
                var addresses = GetAddress(myPoint);

                // Display Address
                if (addresses != null)
                    richTextBox1.Text = addresses[0];
                else
                    richTextBox1.Text = "Unable To Load Address";

            }

// this is my method

 List<string> GetAddress(PointLatLng point)
        {
            List<Placemark> placemarks = null;
            gMapControl1.MapProvider = GMapProviders.OpenStreetMap;
            var statusCode = GMapProviders.OpenStreetMap.GetPlacemarks(point, out placemarks);
            if (statusCode == GeoCoderStatusCode.G_GEO_SUCCESS && placemarks != null)
            {
                List<String> addresses = new List<string>();
                foreach (var placemark in placemarks)
                {
                    addresses.Add(placemark.Address);
                }
                return addresses;
            }
            return null;
        }
private void gMapControl1\u鼠标单击(对象发送器,鼠标指针)
{
PointLatlingMyPoint=gMapControl1.FromLocalToLatLng(e.X,e.Y);
//GetAddress是我的方法
var地址=GetAddress(myPoint);
//显示地址
如果(地址!=null)
richTextBox1.Text=地址[0];
其他的
richTextBox1.Text=“无法加载地址”;
}
//这是我的方法
列表GetAddress(PointLatingPoint)
{
列表placemarks=null;
gMapControl1.MapProvider=gmaproviders.OpenStreetMap;
var statusCode=GMapProviders.OpenStreetMap.GetPlacemarks(点、出placemarks);
if(statusCode==GeoCoderStatusCode.G_GEO_SUCCESS&&placemarks!=null)
{
列表地址=新列表();
foreach(placemarks中的var placemark)
{
地址。添加(placemark.Address);
}
返回地址;
}
返回null;
}
每次在richTextBox(GoogleMapProvider)中写入:
“无法加载地址”

谷歌地图需要提供个人密钥,由于制裁,在某些国家(如伊朗)无法获取该密钥。建议使用Open Street,这是一项完全免费的服务。

您需要使用调试器检查
GetAddress()
。什么是
statusCode
,是否填充了
placemarks
?当我使用GmapProvider.GoogleMap.GetPlaceMarks时,我没有任何豁免。每次都是空的。但当我使用开放式街道地图和bing等。。。此行有错误:–var statusCode=GMapProviders.OpenStreetMap.GetPlacemarks(point,out placemarks)。你能写一个简单的代码吗?你考虑过坐标没有地址的可能性吗?你试过其他已知的坐标吗?在这一点上,这看起来像是一个数据问题,而不是代码问题。是的,我尝试使用其他PointLatings。关于.net有可能吗?还是vs版本?!我在vs 2017中使用了.net freamwork 4。我将尝试使用另一个vs。你能显示地址吗?也许是关于Gmap的!