ポイントは、移動モードを指定するところです。
現在、日本での利用では、driving(車), walking(徒歩)の2種類の移動時間取得のみに制限されています。
public class GoogleMapsApiUtil { public enum MovingMode : int { driving = 1, //車 //transit, //電車 ←日本ではサポート外 walking, //徒歩 //bicycling //自転車 ←日本ではサポート外 } ////// 2点間の車での移動時間を取得 /// /// /// /// ///public static double GetDuration(string origin, string destination, MovingMode mode, string apiKey) { double ret = 0; WebResponse response = null; try { string url = @"https://maps.googleapis.com/maps/api/distancematrix/json?origins=" + origin + "&destinations=" + destination + "&mode=" + mode.ToString() + "&key=" + apiKey; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader sReader = new StreamReader(dataStream); string jsonString = sReader.ReadToEnd(); Debug.Write(jsonString); var jo = JObject.Parse(jsonString); JToken jt = jo.SelectToken("$.rows..elements..duration.value"); ret = double.Parse(StringUtil.NullBlankToZero(jt.ToString())); return ret; } finally { response.Close(); } } }
0 件のコメント:
コメントを投稿