我想要獲取特定谷歌地圖中所有點的高度,無論是在英國還是美國,或只是隨機在世界各地,然後將海拔高度數據存儲到C#中的Array [x,y]? ?如何從C#中的Google地圖獲取海拔點?
我知道Google有一些叫做Elevation map的東西,但似乎每個人都在試圖使用它的經度/緯度,所以.. 任何人都可以給我一個鏈接,我可以找到如何獲得高度或給它一個在C#中的示例程序?
我想要獲取特定谷歌地圖中所有點的高度,無論是在英國還是美國,或只是隨機在世界各地,然後將海拔高度數據存儲到C#中的Array [x,y]? ?如何從C#中的Google地圖獲取海拔點?
我知道Google有一些叫做Elevation map的東西,但似乎每個人都在試圖使用它的經度/緯度,所以.. 任何人都可以給我一個鏈接,我可以找到如何獲得高度或給它一個在C#中的示例程序?
你需要調用谷歌的其他服務,返回的方向上的高度基地或在這裏的座標是一些代碼,可以引導你在正確的道路
//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和商店無論您想要什麼元素,都可以是數據庫,列表,數組。等
Here you will found how to call service及各種不同的方式來使用該服務,看看哪些部分,你需要
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");
}
尼斯:d THX很多 –
沒問題,記住,你應該接受的答案... – Jorge
注意如果要將XML或JSON轉換爲C#結構,還可以使用自動序列化(或反序列化)。 – jv42