Слой Яндекс.Пробки

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модераторы: Tolik, zed

Слой Яндекс.Пробки

Сообщение dsd_corp » 17 мар 2009, 18:04

Всем привет.
Недавно в ветке "Чего вы хотите?" было обсуждение сабжа.
По просьбам трудящихся создаю новую тему и скомпилирую результаты предыдущих обсуждений сюда.

Итак, вот что у нас уже есть. Первое сообщение данной ветки (этот пост) будет регулярно обновляться.

настройки для слоя пробок:
GetUrlScript.txt
Код: Выделить всё
function retrieve_ts(url: string; xstart: string; xend: string):integer; external 'ytrf_retrieve_ts@maps\YaTraf.dll stdcall';
function GetIntParam(key: string): Integer; external 'ytrf_GetIntParam@maps\YaTraf.dll stdcall';
function SetIntParam(key: string; val: Integer): integer; external 'ytrf_SetIntParam@maps\YaTraf.dll stdcall';
function GetUTS: Longint; external 'ytrf_GetUTS@maps\YaTraf.dll stdcall';

function ts_update_needed(delta: integer):integer;
var
  lts, ts : integer;
  lts_key: string;
begin
  result:=0;
  lts_key:='ytrf_lts';
  lts:=GetIntParam(lts_key);
  ts:=GetUTS;
  if (ts>lts+delta) then begin
    SetIntParam(lts_key, GetUTS);
    result:=1;
  end;
end;

function get_ts(delta: integer):integer;
var
  ts_key, url, data: string;
  pt : LongInt;
begin
result:=0;
ts_key:='ytrf_ts';
if (ts_update_needed(delta)>0) then begin
   url:='http://trf.maps.yandex.net/trf/stat.js';
   result:=retrieve_ts(url, 'timestamp:"', '"');
   SetIntParam(ts_key, result);
end else begin
   result:=GetIntParam(ts_key);
end;
end;

begin
ResultURL:='';
if (GetZ<>0) then ResultURL:=GetURLBase+inttostr(GetX)+'&y='+inttostr(GetY)+'&z='+inttostr(GetZ-1)+'&tm='+inttostr(get_ts(60));
end.


params.txt
Код: Выделить всё
[PARAMS]
GUID={C32B96AD-3AC5-4170-ADD7-47B2222AFC99}
asLayer=1
name=Пробки (Яндекс.Карты)
name_9=Traffic (Yandex.Maps)
NameInCache=yatraf
DefURLBase=http://trf.maps.yandex.net/tiles?l=trf&x=
ContentType=image/png
ParentSubMenu=
Ext=.png
projection=2
sradiusa=6378137
sradiusb=6356752
separator=0
UseDwn=1
Usestick=0
UseGenPrevious=0
Usedel=1
Usesave=0
UseAntiBan=0
Sleep=0
DefHotKey=54
BanIfLen=0
DelAfterShow=1

собственно готовый zmp-файл: http://cs.911.ru/traffic/YaTraf.zmp (GUID я ему сгенерил, а слизывал формат с яндекс-гибрида)
для работы слоя необходима внешняя библиотека дополнительных функций.
Скомпилированную библиотеку можно скачать тут: http://cs.911.ru/traffic/YaTraf.dll
Этот файл нужно бросить в папку maps, то есть туда же, где лежат zmp-файлы.

исходники библиотеки(для параноиков и просто интересующихся :D ):
Последний раз редактировалось dsd_corp 16 окт 2009, 10:15, всего редактировалось 3 раз(а).
dsd_corp
Новичок
 
Сообщения: 46
Зарегистрирован: 25 фев 2009, 19:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение Vasya » 04 авг 2009, 21:36

А Одессы нет?
В мобильной версии уже есть.
Аватара пользователя
Vasya
Советчик
 
Сообщения: 266
ICQ: 137791
Зарегистрирован: 14 июл 2008, 13:06
Откуда: Одесса
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение dsd_corp » 05 авг 2009, 02:16

Vasya писал(а):А Одессы нет?
В мобильной версии уже есть.

К сожалению, я не пользуюсь коммуникаторами, потому мобильной версии у меня нет, тем более такой, с которой можно было бы перехватить трафик и сделать Reverse Engineering.
А ставить эмулятор винмобайла тоже как-то не хочется. хотя мож и займусь в свободное время(ну нету его у меня практически).

Пробки в мобильной версии и на сайте яндекса отличаются. на сайте отображаются только те города, которые поддерживаются официально, т.е. в которых есть система мониторинга трафика, кроме сбора инфы с мобилок пользователей.
В мобильной - в т.ч. те города, в которых информация о пробках составляется исключительно за счет самих пользователей системы.

P.S. плюс ко всему, есть у меня некое подозрение, что мобильные пробки могут и не тайлами качаться, а рисоваться поверх карты векторно, как например в рамблере. но это так, домыслы. как поставлю эмулятор, сразу все ясно станет.
P.P.S. кстати, рамблеровский алгоритм я уже давно расковырял, вот тока в планете нету пока API-шных возможностей рисовать поверх карты. хотя есть мысль с помощью внешней DLL-ки на лету создавать необходимые тайлы. ну или сделать промежуточный сервер, который будет таскать с рамблера массивы векторов и опять же генерить тайлы. средней геморности задачка, требующая времени на реализацию. а его у меня как раз и нету почти (см. выше) )))
dsd_corp
Новичок
 
Сообщения: 46
Зарегистрирован: 25 фев 2009, 19:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение ktoto » 21 сен 2009, 23:14

добрый день

скажите пожалуйста, как сделать показ слоёв яндекс пробок без "белой подложки" ?

скриншот:
Изображение
ktoto
Новичок
 
Сообщения: 3
Зарегистрирован: 21 сен 2009, 23:07
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение feya » 22 сен 2009, 14:12

В следующей версии будет исправлено
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: Слой Яндекс.Пробки

Сообщение dsd_corp » 29 сен 2009, 12:35

feya писал(а):В следующей версии будет исправлено

с меня чето требуеццо?
dsd_corp
Новичок
 
Сообщения: 46
Зарегистрирован: 25 фев 2009, 19:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение feya » 29 сен 2009, 14:35

dsd_corp
Да не, уже исправил, ошибка в программе была.
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: Слой Яндекс.Пробки

Сообщение NYK » 11 окт 2009, 10:22

не работает слой! помогите!
NYK
Новичок
 
Сообщения: 17
Зарегистрирован: 28 июн 2009, 10:08
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: Слой Яндекс.Пробки

Сообщение TheLonelyWolf » 12 окт 2009, 16:46

поправил Params.txt

Код: Выделить всё
DefURLBase=http://mm-proxy.appspot.com/trf.maps.yandex?x=

и GetURLScript.txt

Код: Выделить всё
begin
ResultURL:=GetURLBase+inttostr(GetX)+'&y='+inttostr(GetY)+'&z='+inttostr(GetZ-1);
end.


все стало работать
TheLonelyWolf
Новичок
 
Сообщения: 8
Зарегистрирован: 12 окт 2009, 16:36
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение Sem » 14 окт 2009, 15:29

А может кто-нибудь подсказать, что надо сделать, чтобы слой "Яндекс-пробки" заработал?
Проблема в том, что я совершенно не программист, и понятия не имею, куда вносить те изменения, о которых говорилось выше.
Попытка поиска файлов с именами GetURLScript.txt и Params.txt ни к чему не привела. Подозреваю, что это файлы ДО компиляции, но - повторяю - в этом я ничего не понимаю, и сам перекомпилировать не смогу ... :(

Можно получить совет "для чайника" ? :) Или готовый файл, кторый надо записать вместо старого...

Заранее благодарен!

ЗЫ - последнюю версию программы скачал уже.
Sem
Новичок
 
Сообщения: 2
Зарегистрирован: 14 окт 2009, 15:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Слой Яндекс.Пробки

Сообщение feya » 14 окт 2009, 21:01

Sem
положите в папку maps вот это (с заменой) -
http://sasgis.ru/maps/YaTraf.zmp
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Пред.След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

cron