2

我正在尝试获取特定谷歌地图中所有点的高度,无论是在英国还是美国,或者只是在世界各地随机,然后将高度数据存储到 C# 中的 Array[x,y] 中?

我知道谷歌有一个叫做高程地图的东西,但似乎每个人都在尝试使用它来获取经度/纬度,所以.. 任何人都可以提供一个链接到我可以找到如何获取海拔高度的链接或提供一个示例程序它在 C# 中?

4

2 回答 2

2

您需要调用 google 的其余服务,它会根据方向或坐标返回海拔高度这里有一些代码可以指导您以正确的方式

 //builds the URL of the service
 String url = "http://maps.google.com/maps/api/elevtation/xml?address=example"; 
 //gets the xml returned by the service
 XmlTextReader xml = new XmlTextReader(url);

从这里您需要解析 xml 并存储在您想要的任何元素中,可以是数据库、列表、数组。等等

在这里,您将了解如何调用服务以及使用服务的所有不同方式,并查看您需要哪个部分

于 2012-05-21T00:58:44.470 回答
0
using Newtonsoft.Json.Linq;


    public double getElevation(DbGeography point)
    {
        //https://developers.google.com/maps/documentation/elevation/intro
        var request = (HttpWebRequest)WebRequest.Create(string.Format("https://maps.googleapis.com/maps/api/elevation/json?locations={0},{1}", point.Latitude, point.Longitude));
        var response = (HttpWebResponse)request.GetResponse();
        var sr = new StreamReader(response.GetResponseStream() ?? new MemoryStream()).ReadToEnd();

        var json = JObject.Parse(sr);
        return (double)json.SelectToken("results[0].elevation");
    }
于 2015-07-24T03:37:31.663 回答