Вверх ↑
Этот топик читают: Гость
Ответов: 315
Рейтинг: 1
#1: 2017-10-28 16:36:55 ЛС | профиль | цитата
Хочу немножечко облегчить работу, а именно подсчёт пройденного маршрута. Суть вот в чем, существуют различные сервисы, но привычнее именно в 2gis.ru Собственно вопрос, можно ли сформировать запрос и получить на него ответ, через свою программу?
инспектирование страницы
ссылка
https://2gis.ru/orenburg/routeSearch/rsType/car/from/55.157517%2C51.827922%7CСалмышская%2034%20к3%7C6756035096243821%7Cgeo/to/55.098917%2C51.767549%7Cсоветская%2052%7C6756035096216973%7Cgeo?queryState=center%2F55.057297%2C51.798%2Fzoom%2F12%2FrouteTab

--- Добавлено в 2017-10-28 16:42:43

Вроде получается через адресную строку

Редактировалось 2 раз(а), последний 2017-10-28 16:42:43
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 220
Рейтинг: 10
#2: 2017-10-28 17:37:31 ЛС | профиль | цитата
Ну так открой вкладку Network и посмотри как строится запрос и куда шлется и повторяй его
карма: 2

0
Ответов: 315
Рейтинг: 1
#3: 2017-10-29 16:27:41 ЛС | профиль | цитата
Всю голову сломал, вроде кодировку верно подобрал, все равно не понимает он меня. Хотя направление перекодирования меня смущает
Add(MainForm,6252062,427,245)
{
Width=1254
Height=858
}
Add(Button,3622646,427,294)
{
Left=300
Top=30
Caption="Искать"
link(onClick,3929995:doEvent1,[])
}
Add(Charset,457650,602,112)
{
Type=6
link(onCharset,3562906:doCharset,[])
link(Text,1396026:Text,[])
}
Add(Charset,3562906,651,112)
{
Type=12
link(onCharset,2057951:doValue,[])
}
Add(FormatStr,12819476,700,308)
{
Mask="https://2gis.ru/orenburg/routeSearch/rsType/car/from/55.171051,51.775706|%1|6756035096223882|geo/to/55.158785,51.82854|%2|6756138175431527|geo/?queryState=center/55.139008,51.799911/zoom/13/routeTab"
link(onFString,1998653:doValue,[])
link(Str1,2057951:Value,[])
link(Str2,8590299:Value,[(713,247)(937,247)])
}
Add(Edit,1396026,602,63)
{
Left=10
Top=5
Width=165
Text="Гагарина 10"
}
Add(Edit,14692046,833,119)
{
Left=175
Top=5
Width=175
Text="Дзержинского 38"
}
Add(Hub,3929995,469,294)
{
OutCount=3
link(onEvent1,457650:doCharset,[(539,300)(539,118)])
link(onEvent2,15344066:doCharset,[(693,307)(693,174)])
link(onEvent3,12819476:doString,[])
}
Add(Memory,2057951,700,112)
{
}
Add(Charset,15344066,833,168)
{
Type=6
link(onCharset,8121925:doCharset,[])
link(Text,14692046:Text,[])
}
Add(Charset,8121925,882,168)
{
Type=12
link(onCharset,8590299:doValue,[])
}
Add(Memory,8590299,931,168)
{
}
Add(Memory,1998653,756,308)
{
link(onData,3953596:doNavigate,[])
}
Add(WebBrowser,3953596,826,308)
{
Top=60
Width=1238
Height=760
Align=4
link(URL,1998653:Value,[(832,296)(804,296)(804,352)(762,352)])
}


--- Добавлено в 2017-10-29 17:17:38

А через браузер понимает сформированную строку...

Редактировалось 10 раз(а), последний 2017-10-29 17:17:38
карма: 0

0
Ответов: 1326
Рейтинг: 68
#4: 2017-10-30 15:24:22 ЛС | профиль | цитата
GS_Lab писал(а):
Хотя направление перекодирования меня смущает

похоже перекодирование вообще тут не нужно

код


Add(MainForm,6252062,490,315)
{
Width=1254
Height=858
}
Add(Button,3622646,511,392)
{
Left=300
Top=30
Caption="Искать"
link(onClick,12819476:doString,[])
}
Add(FormatStr,12819476,609,392)
{
Mask="https://2gis.ru/orenburg/routeSearch/rsType/car/from/55.171051,51.775706|%1|6756035096223882|geo/to/55.158785,51.82854|%2|6756138175431527|geo/?queryState=center/55.139008,51.799911/zoom/13/routeTab"
Point(FString)
link(onFString,3953596:doNavigate,[])
link(Str1,1396026:Text,[])
link(Str2,14692046:Text,[])
}
Add(Edit,1396026,609,287)
{
Left=10
Top=5
Width=165
Text="Гагарина 10"
}
Add(Edit,14692046,616,322)
{
Left=175
Top=5
Width=175
Text="Дзержинского 38"
}
Add(WebBrowser,3953596,700,392)
{
Top=60
Width=1238
Height=760
Align=4
link(URL,12819476:FString,[(706,380)(678,380)(678,436)(615,436)])
}
карма: 2

0
Ответов: 315
Рейтинг: 1
#5: 2017-10-30 18:43:56 ЛС | профиль | цитата
Действительно! Но ответ все равно не приходит, хоть какие адреса вводишь, ответ все равно 9.2км...

--- Добавлено в 2017-10-30 19:11:50

В браузере он выполняет запрос, а потом подгружает данные, которые уже верно указывают километраж, как осуществить такую подгрузку средствами hiasm?

Редактировалось 1 раз(а), последний 2017-10-30 19:11:50
карма: 0

0
Ответов: 220
Рейтинг: 10
#6: 2017-10-30 22:00:48 ЛС | профиль | цитата
Адресс пункта А и Б писать в запрос не имеет никакого смысла. Нужно указывать координаты точные, а их нужно как то еще узнать... С наскока просто так не сделаешь

Вначале нужно отправлять запрос на поиск улицы - в ответ приходит список подходящих мест с уникальным id, после уже эти id встраивать в запрос на построение маршрута и уже оттуда выдергивать километраж и другую нужную инфу

--- Добавлено в 2017-10-30 22:28:58

Если тебе очень нужно это все, то можешь узнавать точные координаты объекта через API яндекса https://tech.yandex.ru/maps/geocoder/?from=mapsapi, а потом эти координаты подставлять в запрос на 2gis

Редактировалось 2 раз(а), последний 2017-10-30 22:28:58
карма: 2

0
Ответов: 315
Рейтинг: 1
#7: 2017-11-02 15:38:53 ЛС | профиль | цитата
Iliya, Спасибо, направил на мысль... все получается, но из за гибкости сервиса, вытекают другие трудности, будем осваивать
карма: 0

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)