Browse Source

ergaki-2017

undefined
parent
commit
c0d7c5daf2
5 changed files with 91 additions and 0 deletions
  1. BIN
      _tourism/Syberia/ergaki_2017.zmp/18.bmp
  2. BIN
      _tourism/Syberia/ergaki_2017.zmp/24.bmp
  3. +57
    -0
      _tourism/Syberia/ergaki_2017.zmp/GetUrlScript.txt
  4. +10
    -0
      _tourism/Syberia/ergaki_2017.zmp/info.txt
  5. +24
    -0
      _tourism/Syberia/ergaki_2017.zmp/params.txt

BIN
_tourism/Syberia/ergaki_2017.zmp/18.bmp View File

Before After

BIN
_tourism/Syberia/ergaki_2017.zmp/24.bmp View File

Before After

+ 57
- 0
_tourism/Syberia/ergaki_2017.zmp/GetUrlScript.txt View File

@@ -0,0 +1,57 @@
function GetCode(const url: AnsiString): Cardinal;
var
VResponseCode: Cardinal;
VResponseHeader, VResponseData: AnsiString;
begin
Result := 1;
if Assigned(Downloader) then begin
VResponseHeader := '';
VResponseData := '';
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData);
Result := VResponseCode;
end;
end;

var
BaseUrl: string;
code: Cardinal;
z_ok, z_no: integer;
r: integer;
begin
ResultURL := '';
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет

// Масштаба нет - говорить не о чем
if getz >= z_no then exit;

// Выбор зеркала, если не указана версия
if version = '' then
r := random(2)
else
r := StrToInt(version);

case r of
0: BaseUrl := GetURLBase;
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, 'http://91.237.82.95:8088', 'https://maps.melda.ru');
end;

// Проверяем наличие масштаба
if getz > z_ok then begin
code := GetCode(BaseUrl+inttostr(getz)+'/');

// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное"
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется.
if code = 404 then z_no := getz else z_ok := getz;

// Сохраняем актуализированные границы для последующих вызовов
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no);

// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем
if getz >= z_no then exit;
end;

// Ок, качаем тайлик
ResultURL:= BaseUrl+inttostr(getz-1)+'/'+inttostr(getx)+'/'+inttostr(gety )+'.jpg';

end.

+ 10
- 0
_tourism/Syberia/ergaki_2017.zmp/info.txt View File

@@ -0,0 +1,10 @@
(c) Шишкин Сергей <br>
sergey_shandl@mail.ru<br>

<br>
<br>Готовый кэш этой карты можно взять здесь: <a href="https://cloud.mail.ru/public/3nm6/3jz6ZbCoF">https://cloud.mail.ru/public/3nm6/3jz6ZbCoF/</a>


<br>
Если у Вас есть чем дополнить этот раздел - смело шлите на ящик garl@mail.ru <br>
<br>

+ 24
- 0
_tourism/Syberia/ergaki_2017.zmp/params.txt View File

@@ -0,0 +1,24 @@

[PARAMS]
pnum=17
GUID={a93253a7-d413-4fec-9322-d62ba8ba0df6}
ParentSubMenu_ru=Туристические\Россия\Сибирь
ParentSubMenu_uk=Туристичний\Росія\Сибір
ParentSubMenu=Hike\Russia\Siberia

name_ru=Ергаки 2017
name_uk=Sayan mountains. Ergaki 2017
name=Sayan mountains. Ergaki 2017
DefURLBase=http://91.237.82.95:8088/pub/tourism/ergaki-2017/

projection=1
sradiusa=6378137
sradiusb=6378137

NameInCache=ergaki-2017
Ext=.jpg
defaultContentType=image/jpeg
ContentType="image/jpeg"
MaxConnectToServerCount=1
License=(c) Киселёв Д.В. Ширнин В.В.
IsUseDownloaderInScript=1

Loading…
Cancel
Save