ソースを参照

update zmp

master
sasbot 4年前
コミット
2e3744680e
5個のファイルの変更80行の追加0行の削除
  1. バイナリ
      _Genshtab/karta_gsh_2km_new.zmp/18.bmp
  2. バイナリ
      _Genshtab/karta_gsh_2km_new.zmp/24.bmp
  3. +57
    -0
      _Genshtab/karta_gsh_2km_new.zmp/GetUrlScript.txt
  4. +3
    -0
      _Genshtab/karta_gsh_2km_new.zmp/info.txt
  5. +20
    -0
      _Genshtab/karta_gsh_2km_new.zmp/params.txt

バイナリ
_Genshtab/karta_gsh_2km_new.zmp/18.bmp ファイルの表示

変更前 変更後

バイナリ
_Genshtab/karta_gsh_2km_new.zmp/24.bmp ファイルの表示

変更前 変更後

+ 57
- 0
_Genshtab/karta_gsh_2km_new.zmp/GetUrlScript.txt ファイルの表示

@@ -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(3)
else
r := StrToInt(version);
case r of
0: BaseUrl := GetURLBase;
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, 'http://91.237.82.95:8088', 'https://maps.melda.ru');
2: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088/pub/genshtab', 't.caucasia.ru:80');
end;
// Проверяем наличие масштаба
if getz > z_ok then begin
code := GetCode(BaseUrl+'z'+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+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg';
end.

+ 3
- 0
_Genshtab/karta_gsh_2km_new.zmp/info.txt ファイルの表示

@@ -0,0 +1,3 @@
Все права на карты принадлежат их авторам<br>
Если у Вас есть что добавить или желание поделиться листами, стучимся garl@mail.ru<br>
<br>

+ 20
- 0
_Genshtab/karta_gsh_2km_new.zmp/params.txt ファイルの表示

@@ -0,0 +1,20 @@

[PARAMS]
pnum=144
GUID={AF077DC2-E749-4963-9C7D-DEAA705A18F6}
name_ru=Генштаб 2km (new)
name=Genshtab 2 km (new)
name_uk=Генштаб 2 км (new)
NameInCache=Genshtab2km_new
DefURLBase=http://91.237.82.95:8088/pub/genshtab/2km.new/
ParentSubMenu_ru=Генштаб
ParentSubMenu=Genshtab
ParentSubMenu_uk=Генштаб
Ext=.jpg
projection=1
sradiusa=6378137
sradiusb=6378137
DefHotKey=50
ContentType="image/jpeg"
MaxConnectToServerCount=1
IsUseDownloaderInScript=1

読み込み中…
キャンセル
保存