Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中从谷歌地图获取高程点?_C#_Google Maps Api 3_Elevation - Fatal编程技术网

如何在C#中从谷歌地图获取高程点?

如何在C#中从谷歌地图获取高程点?,c#,google-maps-api-3,elevation,C#,Google Maps Api 3,Elevation,我试图在一张特定的谷歌地图上获取所有点的高度,无论是在英国还是美国,或者只是随机分布在世界各地,然后将高度数据存储到C#中的数组[x,y]中 我知道谷歌有一种叫做海拔图的东西,但似乎每个人都在用它来获取经度/纬度,所以。。 有谁能给我一个链接,我可以在哪里找到海拔高度,或者给我一个C#?中的示例程序。你需要调用谷歌的rest服务,它根据方向或坐标返回海拔高度。这里有一些代码可以指导你正确的方法 //builds the URL of the service String url = "htt

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

我知道谷歌有一种叫做海拔图的东西,但似乎每个人都在用它来获取经度/纬度,所以。。
有谁能给我一个链接,我可以在哪里找到海拔高度,或者给我一个C#?

中的示例程序。你需要调用谷歌的rest服务,它根据方向或坐标返回海拔高度。这里有一些代码可以指导你正确的方法

 //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并存储在您想要的任何元素中,可以是数据库、列表或数组。等等


以及使用服务并查看所需部分的所有不同方式请注意,如果要从XML或JSON转换为C#结构,还可以使用自动序列化(或此处的反序列化)。
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");
    }