C# Google Map Optimal Route
-
Merhaba arkadaşlar.
Elimde müşterilere ait koordinat bilgileri var (latitude,longitude)
tek noktaya gidileceğinde sorun yok GMap ile route oluşturabiliyorum.
ancak çoklu nokta olduğunda optimal route hesaplama konusunda kütüphane çözün sunmuyor.
bu konuda ne yapmayı önerirsiniz?
-
başladığın yere geri döneceksin diye düşünüyorum
en basit yöntem bulunduğun noktadan en yakın noktaya gitmek (gitmediklerin arasında)
fakat sana her zaman en kısa yolu vermeyebilir
-
using System; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main() { string apiKey = "YOUR_API_KEY"; string apiUrl = "https://maps.googleapis.com/maps/api/directions/json"; string origin = "41.8781,-87.6298"; // Başlangıç noktası string destination = "34.0522,-118.2437"; // Varış noktası string waypoints = "40.7128,-74.0060|37.7749,-122.4194"; // Ara noktalar string requestUrl = $"{apiUrl}?origin={origin}&destination={destination}&waypoints={waypoints}&key={apiKey}"; using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(requestUrl); if (response.IsSuccessStatusCode) { string jsonResponse = await response.Content.ReadAsStringAsync(); Console.WriteLine(jsonResponse); } else { Console.WriteLine($"Hata kodu: {response.StatusCode}"); } } } }
-
cybermole bunu yazdı
using System; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main() { string apiKey = "YOUR_API_KEY"; string apiUrl = "https://maps.googleapis.com/maps/api/directions/json"; string origin = "41.8781,-87.6298"; // Başlangıç noktası string destination = "34.0522,-118.2437"; // Varış noktası string waypoints = "40.7128,-74.0060|37.7749,-122.4194"; // Ara noktalar string requestUrl = $"{apiUrl}?origin={origin}&destination={destination}&waypoints={waypoints}&key={apiKey}"; using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(requestUrl); if (response.IsSuccessStatusCode) { string jsonResponse = await response.Content.ReadAsStringAsync(); Console.WriteLine(jsonResponse); } else { Console.WriteLine($"Hata kodu: {response.StatusCode}"); } } } }
biraz bu konuda doküman okudum. Google bu apiyi kullandırırken ücretlendiriyor mu? bilgin var mı?
-
Asayisci bunu yazdıcybermole bunu yazdı
using System; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main() { string apiKey = "YOUR_API_KEY"; string apiUrl = "https://maps.googleapis.com/maps/api/directions/json"; string origin = "41.8781,-87.6298"; // Başlangıç noktası string destination = "34.0522,-118.2437"; // Varış noktası string waypoints = "40.7128,-74.0060|37.7749,-122.4194"; // Ara noktalar string requestUrl = $"{apiUrl}?origin={origin}&destination={destination}&waypoints={waypoints}&key={apiKey}"; using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(requestUrl); if (response.IsSuccessStatusCode) { string jsonResponse = await response.Content.ReadAsStringAsync(); Console.WriteLine(jsonResponse); } else { Console.WriteLine($"Hata kodu: {response.StatusCode}"); } } } }
biraz bu konuda doküman okudum. Google bu apiyi kullandırırken ücretlendiriyor mu? bilgin var mı?
300 usd free oda yeter zaten esine dostunun üstüne ala ala devam edersin..
-
peki burada ara nokta da vermesek başlangıç noktası verilerek atıyorum 5 lokasyon var
optimal yolu nasıl belirleyebiliriz? -
Asayisci bunu yazdı
peki burada ara nokta da vermesek başlangıç noktası verilerek atıyorum 5 lokasyon var
optimal yolu nasıl belirleyebiliriz?Hocam yapmissin zaten ama muhtemelen yine dokumantasyon okunmadigi icin kucuk bir detay elinden kacmis :)
waypoint ile api'ye sorguyu iletirken "optimizeWaypointOrder:true" parametresini iletmen gerek.
https://developers.google.com/maps/documentation/routes_preferred/waypoint_optimization_proxy_api
// Optimize lokasyonlar, burayi diamik olarak alirsin etc... string[] locations = new string[] { "koordinat1", "koordinat2", "koordinat3", "koordinat4" }; string waypoints = "optimizeWaypointOrder:true|" + string.Join("|", locations);
-
ComputerWolf bunu yazdıAsayisci bunu yazdı
peki burada ara nokta da vermesek başlangıç noktası verilerek atıyorum 5 lokasyon var
optimal yolu nasıl belirleyebiliriz?Hocam yapmissin zaten ama muhtemelen yine dokumantasyon okunmadigi icin kucuk bir detay elinden kacmis :)
waypoint ile api'ye sorguyu iletirken "optimizeWaypointOrder:true" parametresini iletmen gerek.
https://developers.google.com/maps/documentation/routes_preferred/waypoint_optimization_proxy_api
// Optimize lokasyonlar, burayi diamik olarak alirsin etc... string[] locations = new string[] { "koordinat1", "koordinat2", "koordinat3", "koordinat4" }; string waypoints = "optimizeWaypointOrder:true|" + string.Join("|", locations);
teşekkürler deniyorum hemen