【问题标题】:How to get specific address on google map?如何在谷歌地图上获取具体地址?
【发布时间】:2022-01-10 05:04:55
【问题描述】:

我正在使用 GMap.net 库并获得了地址,但我得到了我不想要的结果。 example : the address i took out

2QRR+26 Cầu Giấy, Hà Nội

预计实际地址:

108 Nguyễn Phong Sắc, Dịch Vọng, Cầu Giấy, Hà Nội

这是我在网站谷歌地图上得到的位置信息:https://i.stack.imgur.com/cqgpw.png
这是我的代码:

 private void gmap_OnMapClick(PointLatLng pointClick, MouseEventArgs e)
        {
            var address = getAddressFromMap(pointClick);
            if (address != null)
            {
                rtbResultAddressGG.Text = "\nAddress : " + address[0];
            }
            else
            {
                MessageBox.Show("Unable to get the address !", "");
            }
        }
  private List<String> getAddressFromMap(PointLatLng point)
        {
            StringBuilder stringBuilder = new StringBuilder();
            List<Placemark> placemarks = null;
            var sttCode = GMapProviders.GoogleMap.GetPlacemarks(point, out placemarks);
            if (sttCode == GeoCoderStatusCode.OK && placemarks != null)
            {
                List<String> address = new List<string>();
                foreach (var placemark in placemarks)
                {
                   address.Add(placemark.Address);
                }
                return address;
            }
            return null;
        }

【问题讨论】:

标签: c# google-maps gmap.net


【解决方案1】:

您是否尝试过从 getAddressFromMap 中检查您的地址的其他值?从您正在使用的library 的源代码中,它似乎正在使用反向地理编码来获取您传递的坐标的地址,该地址将返回数组来自formatted_address field的结果

 var ret = new Placemark(geoResult.results[i].formatted_address);

我尝试对上面地址的坐标进行反向地理编码,我可以看到确实有一个 formatted_address 2QRR+26 Cầu Giấy, Hà Nội 但它不是数组返回的第一个 formatted_address。你可以在这个https://jsfiddle.net/79v3rqm1/ 上看到它,我在控制台中显示了返回的地址,2QRR+26 Cầu Giấy, Hà Nội 也包括在内,但不是第一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多