8

私は 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;
        }
    }

その場所の場所、つまり国名、都市名などを取得する方法が見つかりませんでした。

Google マップのフォーラムを検索しましたが、この問題に対する回答が見つかりませんでした。

どれでも

4

2 に答える 2

6

これにより、地図上でクリックした位置にある名前付きの場所のリストが表示されます。

   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);
                }
            }
        }
    }
于 2014-04-03T02:13:33.780 に答える