Сведения о среде [*]ОС: Windows 11. [*]Версия .NET: 4.8 [*]Название и версия пакета: [Google.Maps.Routing.V2] 1.0.0-beta10
Проблема: Я пытаюсь использовать RouteAPI для определения расстояний от одного места к другому (от одного до многих). Мне не удается получить данные из некоторых пунктов назначения в списке. Однако если я создаю запрос только с одним пунктом назначения и использую проблемный пункт назначения, все работает нормально.
Рабочий пункт
{ "originIndex": 0, "destinationIndex": 102, "status": { }, «distanceMeters»: 1271616, «длительность»: «42600 с», «staticDuration»: "42600s", "условие": "ROUTE_EXISTS", "localizedValues": { "distance": { "text": "1272 км" }, "duration": { "text": "11 часов 50 mins" }, "staticDuration": { "text": "11 часов 50 минут" } }
102, 01226, { "latitude": 42.475, "longitude": -73.1603 } # index, zip, lat/long
Направление проблемы
{ "originIndex": 0, "destinationIndex": 351, "status": { }, "условие": "ROUTE_NOT_FOUND"
351, 01937, { "latitude": 42.5862, "longitude": -70.9745 } # index, zip, lat/long
Асинхронный метод ComputeRouteMatrix
Клиент RoutesClient = await RoutesClient.CreateAsync(); CallSettings callSettings = CallSettings.FromHeader("X-Goog-FieldMask", "*"); var origin = новая путевая точка {Местоположение = новое местоположение {LatLng = новое LatLng {Широта = 41,7682, Долгота = -83,5797} }}; List destList = новый список(); zipObjects.ForEach(x => destList.Add(new RouteMatrixDestination { Waypoint = x.waypoint })); вар BatchedDest = CreateBatch (destList, 400); число интервалов = 0; ИНТ CurrentBatch = 1; foreach (var dest в пакетном Dest) { if (count >= 4) // используется для ожидания, поэтому лимит в минуту не достигается { Thread.Sleep(1 * // минут до сна 60 * // секунд до минуты 1000); счет = 0; } Запрос ComputeRouteMatrixRequest = новый ComputeRouteMatrixRequest { Origins = {new RouteMatrixOrigin { Waypoint = origin }, }, TravelMode = МаршрутTravelMode.Drive, RoutingPreference = RoutingPreference.Unspecified, }; request.Destinations.Add(dest); используя (RoutesClient.ComputeRouteMatrixStream ответ = client.ComputeRouteMatrix(запрос, callSettings)) { AsyncResponseStream responseStream = response.GetResponseStream(); в то время как (ожидайте ответаStream.MoveNextAsync()) { RouteMatrixElement responseItem = responseStream.Current; Console.WriteLine(responseItem.ToString()); динамические данные = JObject.Parse(responseItem.ToString()); индекс вар = Convert.ToInt32(data.destinationIndex); double distanceMeters = data.distanceMeters.ToObject(); # здесь не получается, потому что значения distanceMeters нет в ответе var миль = Math.Round(distanceMeters * 0,000621371, 2); } } считать += 1; текущий пакет++; Console.WriteLine(currentBatch); } Я пропустил какую-то настройку?
Google RouteAPI (google-cloud-dotnet): RouteMatrix — ROUTE_NOT_FOUND с использованием нескольких пунктов назначения ⇐ C#
Место общения программистов C#
1704398102
Гость
Сведения о среде [*]ОС: Windows 11. [*]Версия .NET: 4.8 [*]Название и версия пакета: [Google.Maps.Routing.V2] 1.0.0-beta10
Проблема: Я пытаюсь использовать RouteAPI для определения расстояний от одного места к другому (от одного до многих). Мне не удается получить данные из некоторых пунктов назначения в списке. Однако если я создаю запрос только с одним пунктом назначения и использую проблемный пункт назначения, все работает нормально.
Рабочий пункт
{ "originIndex": 0, "destinationIndex": 102, "status": { }, «distanceMeters»: 1271616, «длительность»: «42600 с», «staticDuration»: "42600s", "условие": "ROUTE_EXISTS", "localizedValues": { "distance": { "text": "1272 км" }, "duration": { "text": "11 часов 50 mins" }, "staticDuration": { "text": "11 часов 50 минут" } }
102, 01226, { "latitude": 42.475, "longitude": -73.1603 } # index, zip, lat/long
Направление проблемы
{ "originIndex": 0, "destinationIndex": 351, "status": { }, "условие": "ROUTE_NOT_FOUND"
351, 01937, { "latitude": 42.5862, "longitude": -70.9745 } # index, zip, lat/long
Асинхронный метод ComputeRouteMatrix
Клиент RoutesClient = await RoutesClient.CreateAsync(); CallSettings callSettings = CallSettings.FromHeader("X-Goog-FieldMask", "*"); var origin = новая путевая точка {Местоположение = новое местоположение {LatLng = новое LatLng {Широта = 41,7682, Долгота = -83,5797} }}; List destList = новый список(); zipObjects.ForEach(x => destList.Add(new RouteMatrixDestination { Waypoint = x.waypoint })); вар BatchedDest = CreateBatch (destList, 400); число интервалов = 0; ИНТ CurrentBatch = 1; foreach (var dest в пакетном Dest) { if (count >= 4) // используется для ожидания, поэтому лимит в минуту не достигается { Thread.Sleep(1 * // минут до сна 60 * // секунд до минуты 1000); счет = 0; } Запрос ComputeRouteMatrixRequest = новый ComputeRouteMatrixRequest { Origins = {new RouteMatrixOrigin { Waypoint = origin }, }, TravelMode = МаршрутTravelMode.Drive, RoutingPreference = RoutingPreference.Unspecified, }; request.Destinations.Add(dest); используя (RoutesClient.ComputeRouteMatrixStream ответ = client.ComputeRouteMatrix(запрос, callSettings)) { AsyncResponseStream responseStream = response.GetResponseStream(); в то время как (ожидайте ответаStream.MoveNextAsync()) { RouteMatrixElement responseItem = responseStream.Current; Console.WriteLine(responseItem.ToString()); динамические данные = JObject.Parse(responseItem.ToString()); индекс вар = Convert.ToInt32(data.destinationIndex); double distanceMeters = data.distanceMeters.ToObject(); # здесь не получается, потому что значения distanceMeters нет в ответе var миль = Math.Round(distanceMeters * 0,000621371, 2); } } считать += 1; текущий пакет++; Console.WriteLine(currentBatch); } Я пропустил какую-то настройку?
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия