feya писал(а):dsd_corp
Без доработки нельзя.
ну вообще-то я и имел ввиду с доработкой конечно же.
в том смысле что - возьмешься или "нуевонафик"?
например можно в паскаль-скрипт добавить функцию GetYaTrafTimeStamp(map_id: integer)
и чтобы она реально скачивала и парсила вышеописанный файл только при первом вызове или если с момента предыдущего вызова прошло 3 или 5 минут(это можно вынести в настройки), в остальных случаях выдавала бы сохраненный результат от предыдущего скачивания.
при чем чтобы парсила только файл, относящийся к запрошенной map_id, а не все 4 файла за раз(для каждого из городов).
так экономнее. а то мало ли. если чел в данный момент смотрит только москву, нафик качать еще для питера, ебурга и киева...
соответственно понятно куда в URL map_id подставлять:
http://traffic.maps.yandex.net/2000/04/last/traffic.js - Москва
http://traffic.maps.yandex.net/500/04/last/traffic.js - Питер
http://traffic.maps.yandex.net/700/04/last/traffic.js - Ебург
http://traffic.maps.yandex.net/1600/04/last/traffic.js - Киев
А тут то что у меня уже есть:настройки для слоя пробок:
GetUrlScript.txt- Код: Выделить всё
var
cx, cy, _z, cz, mn, ts, map_id: integer;
ts_2000, ts_500, ts_700, ts_1600: integer;
begin
ts_2000:=1236273533; //Москва
ts_500:=1236273658; //Санкт-Петербург
ts_700:=1236273607; //Екатеринбург
ts_1600:=1236273622; //Киев
ts:=0;
map_id:=0;
cz:=24-GetZ;
_z:=cz+8;
mn:=round(intpower(2,_z));
cx:=GetX*mn;
cy:=GetY*mn;
if ((cx>1283457024)and(cx<1308622848)and(cy>654311424)and(cy<679477248)) then begin
map_id:=2000;
ts:=ts_2000;
end else if ((cx>1224736768)and(cx<1275068416)and(cy>603979776)and(cy<637534208)) then begin
map_id:=500;
ts:=ts_500;
end else if ((cx>1433927680)and(cx<1436549120)and(cy>660078592)and(cy<662700032)) then begin
map_id:=700;
ts:=ts_700;
end else if ((cx>1254096896)and(cx<1257766912)and(cy>724566016)and(cy<728236032)) then begin
map_id:=1600;
ts:=ts_1600;
end;
ResultURL:=GetURLBase+inttostr(map_id)+'?layer=4×tamp='+inttostr(ts)+'&x='+inttostr(cx)+'&y='+inttostr(cy)+'&scale='+inttostr(cz)+'&mn='+inttostr(mn);
end.
params.txt- Код: Выделить всё
[PARAMS]
GUID={C32B96AD-3AC5-4170-ADD7-47B2222AFC99}
asLayer=1
name=Пробки (Яндекс.Карты)
name_9=Traffic (Yandex.Maps)
NameInCache=yatraf
DefURLBase=http://traffic.maps.yandex.net/tiles/
ContentType=image/png
ParentSubMenu=
Ext=.png
projection=2
sradiusa=6378137
sradiusb=6356752
separator=0
UseDwn=1
Usestick=1
UseGenPrevious=0
Usedel=1
Usesave=1
UseAntiBan=0
Sleep=0
DefHotKey=0
BanIfLen=0
собственно готовый файл:
http://cs.911.ru/traffic/YaTraf.zmp (GUID я ему сгенерил, а слизывал формат с яндекс-гибрида)
если отсюда(
http://cs.911.ru/traffic/yatraf_htm.php ) сходу скопировать все 4 строчки в соответствующее место в GetUrlScript.txt внутри zmp-файла и сразу же открыть программу, можно увидеть пробки во всех четырех городах )))
немного глючит по краям областей пробок(за пределами городов), но это потому что крайние координаты городов я приблизительно проставил.
P.S. извините, если не туда запостил. просто чтоб рядом с обсуждением было )