/// <summary> /// 透過座標取得腳踏車資訊 /// </summary> /// <param name="talkToken">要發送給誰</param> /// <param name="lat">緯度</param> /// <param name="lon">經度</param> /// <returns></returns> public string returnBikeData(string talkToken, string lat, string lon) { PTXApi getBusLocation = new PTXApi(); string APIUrl = "http://ptx.transportdata.tw/MOTC/v2/Bike/Station/taipei?$format=JSON"; List <YoubikeModel> getData = JsonConvert.DeserializeObject <List <Models.YoubikeModel> >(CallAPIByHMAC(APIUrl)); foreach (var data in getData) { var distance = Math.Abs(Geocoding.DistanceOfTwoPoints(Convert.ToDouble(data.StationPosition.PositionLat), Convert.ToDouble(data.StationPosition.PositionLon), Convert.ToDouble(lat), Convert.ToDouble(lon))); data.Distance = distance; } var finalLocation = getData.OrderBy(x => x.Distance).Take(3); if (finalLocation.Count() > 0) { foreach (var item in finalLocation) { string stationStatus = BikeStationStatus(item.StationUID, "taipei"); SendRequest.SendLocation(talkToken, item.StationPosition.PositionLat, item.StationPosition.PositionLon, item.StationName.Zh_tw, stationStatus); } return("Youbike站台資訊如上"); } else { return(""); } }