@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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, 'http://91.237.82.95:8088/pub', 'http://map.zeskmi.ru'); | |||||
end; | |||||
// Проверяем наличие масштаба | // Проверяем наличие масштаба | ||||
if getz > z_ok then begin | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=ГосГисЦентр 1 Км | |||||
name=GosGisCentr 1 Km | name=GosGisCentr 1 Km | ||||
name_uk=GosGisCentr 1 Kм | name_uk=GosGisCentr 1 Kм | ||||
NameInCache=ggc1km | NameInCache=ggc1km | ||||
DefURLBase=https://maps.melda.ru/pub/ggc/1km.png/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/ggc/1km.png/ | |||||
defaultContentType=image/png | defaultContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
projection=1 | projection=1 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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, 'http://91.237.82.95:8088/pub', 'http://map.zeskmi.ru'); | |||||
end; | |||||
// Проверяем наличие масштаба | // Проверяем наличие масштаба | ||||
if getz > z_ok then begin | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
end. | end. |
@@ -8,7 +8,7 @@ ParentSubMenu=Topomaps\GGC | |||||
name_ru=ГосГисЦентр 250 м (.png) | name_ru=ГосГисЦентр 250 м (.png) | ||||
name=GosGisCentr 250 m (.png) | name=GosGisCentr 250 m (.png) | ||||
NameInCache=genshtab250m | NameInCache=genshtab250m | ||||
DefURLBase=https://maps.melda.ru/pub/ggc/250m.png/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/ggc/250m.png/ | |||||
defaultContentType=image/png | defaultContentType=image/png | ||||
IgnoreContentType=1 | IgnoreContentType=1 | ||||
Ext=.png | Ext=.png | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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, 'http://91.237.82.95:8088/pub', 'http://map.zeskmi.ru'); | |||||
end; | |||||
// Проверяем наличие масштаба | // Проверяем наличие масштаба | ||||
if getz > z_ok then begin | if getz > z_ok then begin | ||||
code := GetCode(GetURLBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetURLBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=ГосГисЦентр 2 Км | |||||
name=GosGisCentr 2 Km | name=GosGisCentr 2 Km | ||||
name_uk=GosGisCentr 2 Kм | name_uk=GosGisCentr 2 Kм | ||||
NameInCache=ggc2km | NameInCache=ggc2km | ||||
DefURLBase=https://maps.melda.ru/pub/ggc/2km.png/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/ggc/2km.png/ | |||||
defaultContentType=image/png | defaultContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
projection=1 | projection=1 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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, 'http://91.237.82.95:8088/pub', 'http://map.zeskmi.ru'); | |||||
end; | |||||
// Проверяем наличие масштаба | // Проверяем наличие масштаба | ||||
if getz > z_ok then begin | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=ГосГисЦентр 500 м | |||||
name=GosGisCentr 500 m | name=GosGisCentr 500 m | ||||
name_uk=GosGisCentr 500 м | name_uk=GosGisCentr 500 м | ||||
NameInCache=ggc500m | NameInCache=ggc500m | ||||
DefURLBase=https://maps.melda.ru/pub/ggc/500m.png/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/ggc/500m.png/ | |||||
defaultContentType=image/png | defaultContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
projection=1 | projection=1 | ||||
@@ -1,10 +1,25 @@ | |||||
var | |||||
r: integer; | |||||
BaseUrl: string; | |||||
begin | begin | ||||
// Выбор зеркала, если не указана версия | |||||
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, 'http://91.237.82.95:8088/pub', 'http://map.zeskmi.ru'); | |||||
end; | |||||
if GetZ < 13 then | if GetZ < 13 then | ||||
ResultURL := GetUrlBase+'2km.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
ResultURL := BaseUrl+'2km.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
else if getz <14 then | else if getz <14 then | ||||
ResultURL := GetUrlBase+'1km.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
ResultURL := BaseUrl+'1km.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
else if getz <15 then | else if getz <15 then | ||||
ResultURL := GetUrlBase+'500m.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
ResultURL := BaseUrl+'500m.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
else | else | ||||
ResultURL := GetUrlBase+'250m.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
ResultURL := BaseUrl+'250m.png'+'/z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png' | |||||
end. | end. |
@@ -8,7 +8,7 @@ ParentSubMenu=Topomaps\GGC | |||||
name_ru=ГосГисЦентр (все масштабы) | name_ru=ГосГисЦентр (все масштабы) | ||||
name=GosGisCentr | name=GosGisCentr | ||||
NameInCache=ggc_all | NameInCache=ggc_all | ||||
DefURLBase=https://maps.melda.ru/pub/ggc/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/ggc/ | |||||
defaultContentType=image/png | defaultContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
projection=1 | projection=1 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 500м (1999-2010) | |||||
name=Genshtab 500m (1999-2010) | name=Genshtab 500m (1999-2010) | ||||
name_uk=Генштаб 500м (1999-2010) | name_uk=Генштаб 500м (1999-2010) | ||||
NameInCache=genshtab500m_new | NameInCache=genshtab500m_new | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/500m.new/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/500m.new/ | |||||
defaultContentType=image/jpeg | defaultContentType=image/jpeg | ||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 10 км | |||||
name=Genshtab 10 km | name=Genshtab 10 km | ||||
name_uk=Генштаб 10 км | name_uk=Генштаб 10 км | ||||
NameInCache=Genshtab10km | NameInCache=Genshtab10km | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/10km/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/10km/ | |||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,22 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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'); | |||||
// until dont update maps repo | |||||
// 2: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088/pub/genshtab', 't.caucasia.ru:80'); | |||||
end; | |||||
// Проверяем наличие масштаба | // Проверяем наличие масштаба | ||||
if getz > z_ok then begin | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +54,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 1 км | |||||
name=Genshtab 1 km | name=Genshtab 1 km | ||||
name_uk=Генштаб 1 км | name_uk=Генштаб 1 км | ||||
NameInCache=genshtab1km | NameInCache=genshtab1km | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/1km/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/1km/ | |||||
defaultContentType=image/jpeg | defaultContentType=image/jpeg | ||||
IgnoreContentType=1 | IgnoreContentType=1 | ||||
Ext=.jpg | Ext=.jpg | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,20 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +52,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 20 км | |||||
name=Genshtab 20 km | name=Genshtab 20 km | ||||
name_uk=Генштаб 20 км | name_uk=Генштаб 20 км | ||||
NameInCache=Genshtab20km | NameInCache=Genshtab20km | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/20km/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/20km/ | |||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,20 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +52,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 250 м | |||||
name=Genshtab 250 m | name=Genshtab 250 m | ||||
name_uk=Генштаб 250 м | name_uk=Генштаб 250 м | ||||
NameInCache=genshtab.250m | NameInCache=genshtab.250m | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/250m/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/250m/ | |||||
defaultContentType=image/jpeg | defaultContentType=image/jpeg | ||||
IgnoreContentType=1 | IgnoreContentType=1 | ||||
Ext=.jpg | Ext=.jpg | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 2 км | |||||
name=Genshtab 2 km | name=Genshtab 2 km | ||||
name_uk=Генштаб 2 км | name_uk=Генштаб 2 км | ||||
NameInCache=Genshtab2km | NameInCache=Genshtab2km | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/2km/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/2km/ | |||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 2 км (new) | |||||
name=Genshtab 2 km (new) | name=Genshtab 2 km (new) | ||||
name_uk=Генштаб 2 км (new) | name_uk=Генштаб 2 км (new) | ||||
NameInCache=Genshtab2km_new | NameInCache=Genshtab2km_new | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/2km.new/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/2km.new/ | |||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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'); | |||||
2: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088/pub/genshtab', 't.caucasia.ru:80'); | |||||
end; | |||||
// Проверяем наличие масштаба | // Проверяем наличие масштаба | ||||
if getz > z_ok then begin | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 500 м | |||||
name=Genshtab 500 m | name=Genshtab 500 m | ||||
name_uk=Генштаб 500 м | name_uk=Генштаб 500 м | ||||
NameInCache=genshtab500m | NameInCache=genshtab500m | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/500m/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/500m/ | |||||
defaultContentType=image/jpeg | defaultContentType=image/jpeg | ||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
@@ -13,8 +13,10 @@ begin | |||||
end; | end; | ||||
var | var | ||||
BaseUrl: string; | |||||
code: Cardinal; | code: Cardinal; | ||||
z_ok, z_no: integer; | z_ok, z_no: integer; | ||||
r: integer; | |||||
begin | begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | ||||
@@ -23,9 +25,21 @@ begin | |||||
// Масштаба нет - говорить не о чем | // Масштаба нет - говорить не о чем | ||||
if getz >= z_no then exit; | 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 | if getz > z_ok then begin | ||||
code := GetCode(GetUrlBase+'z'+inttostr(getz)+'/'); | |||||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | // Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | ||||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | // Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | ||||
@@ -39,5 +53,5 @@ begin | |||||
end; | end; | ||||
// Ок, качаем тайлик | // Ок, качаем тайлик | ||||
ResultURL:= GetUrlBase+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||||
end. | end. |
@@ -9,7 +9,7 @@ name_ru=Генштаб 5 км | |||||
name=Genshtab 5 km | name=Genshtab 5 km | ||||
name_uk=Генштаб 5 км | name_uk=Генштаб 5 км | ||||
NameInCache=Genshtab5km | NameInCache=Genshtab5km | ||||
DefURLBase=https://maps.melda.ru/pub/genshtab/5km/ | |||||
DefURLBase=http://91.237.82.95:8088/pub/genshtab/5km/ | |||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
@@ -0,0 +1,3 @@ | |||||
begin | |||||
ResultURL:=GetURLBase+inttostr(getz-1)+'/'+inttostr(getx)+'/'+inttostr(gety); | |||||
end. |
@@ -1,5 +1,4 @@ | |||||
| |||||
[PARAMS] | |||||
[PARAMS] | |||||
pnum=141 | pnum=141 | ||||
GUID={B5F81E9E-7354-45DC-8B42-5F3952C39039} | GUID={B5F81E9E-7354-45DC-8B42-5F3952C39039} | ||||
ParentSubMenu_ru=Топокарты\Генштаб | ParentSubMenu_ru=Топокарты\Генштаб | ||||
@@ -8,11 +7,11 @@ ParentSubMenu=Topomaps\Soviet military maps | |||||
name_ru=TopoMapper.com - Генштаб 1км (вся планета) | name_ru=TopoMapper.com - Генштаб 1км (вся планета) | ||||
name=TopoMapper.com | name=TopoMapper.com | ||||
NameInCache=topomapper.com | NameInCache=topomapper.com | ||||
DefURLBase=https://proxy.nakarte.me/http/88.99.52.155/tmg/{z}/{x}/{y} | |||||
DefURLBase=http://88.99.52.155/cgi-bin/tapp/tilecache.py/1.0.0/topomapper_v2/ | |||||
ContentType=image/jpeg | ContentType=image/jpeg | ||||
Ext=.jpg | Ext=.jpg | ||||
projection=1 | projection=1 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
sradiusb=6356752 | sradiusb=6356752 | ||||
separator=1 | separator=1 | ||||
RequestHead=Referer: https://nakarte.me/ | |||||
RequestHead=Referer: http://www.topomapper.com/ |
@@ -1,5 +1,4 @@ | |||||
| |||||
[PARAMS] | |||||
[PARAMS] | |||||
pnum=6 | pnum=6 | ||||
GUID={EA38519A-1945-4D50-8BB8-42CB98CA07C9} | GUID={EA38519A-1945-4D50-8BB8-42CB98CA07C9} | ||||
ParentSubMenu_ru=Спутниковые | ParentSubMenu_ru=Спутниковые | ||||
@@ -9,7 +8,7 @@ name=Here.com - Satellite | |||||
name_ru=Here.com - Спутник | name_ru=Here.com - Спутник | ||||
name_uk=Here.com - Спутник | name_uk=Here.com - Спутник | ||||
ContentType=image/png | ContentType=image/png | ||||
DefURLBase=https://{s}.aerial.maps.api.here.com/maptile/2.1/maptile/newest/satellite.day/{z}/{x}/{y}/256/png8?app_id=5E8QOXI78RNGgasTxmPR&token=NJI0HzzrkzLyyne3mAFm3Q&lg={ver}&ppi=72&pview=DEF | |||||
DefURLBase=https://{s}.aerial.maps.api.here.com/maptile/2.1/maptile/newest/satellite.day/{z}/{x}/{y}/256/png8?app_id=xWVIueSv6JL0aJ5xqTxb&app_code=djPZyynKsbTjIUDOBcHZ2g&lg={ver}&ppi=72&pview=DEF | |||||
ServerNames=1,2,3,4 | ServerNames=1,2,3,4 | ||||
NameInCache=here.com.satellite.jpg | NameInCache=here.com.satellite.jpg | ||||
EPSG=3785 | EPSG=3785 | ||||
@@ -1,63 +1,65 @@ | |||||
//****************************************************************************** | //****************************************************************************** | ||||
// LAYERS parameter: config_a_b_c | // LAYERS parameter: config_a_b_c | ||||
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | // a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | ||||
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// b = 10.00: for 10.00 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// c = 0 for pristine Navionics charts, 1 for Sonar Charts | // c = 0 for pristine Navionics charts, 1 for Sonar Charts | ||||
// | // | ||||
// TRANSPARENT parameter: | // TRANSPARENT parameter: | ||||
// FALSE for non-layer | // FALSE for non-layer | ||||
// TRUE for layer | // TRUE for layer | ||||
// | |||||
// | |||||
// UGC parameter: | |||||
// FALSE for pristine Navionics charts | |||||
// TRUE for additinal user-generated content icons | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cReqParams = 'LAYERS=config_1_1_1&TRANSPARENT=TRUE&theme=0'; | |||||
cReqParams = 'LAYERS=config_1_10.00_1&TRANSPARENT=TRUE&UGC=FALSE'; | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cTTL = 24*60*60; // 24 hour | |||||
cTTL = 24*60*60; // 24 hour | |||||
cNavTokenKey = 'NavToken='; | |||||
cTimeStampKey = 'TimeStamp='; | |||||
function CheckTTL(const ATimeStamp: Integer): Boolean; | |||||
function CheckTTL(const ATimeStamp: AnsiString): Boolean; | |||||
begin | begin | ||||
Result := (cTTL div 2) > GetUnixTime - ATimeStamp; | |||||
Result := ( (cTTL div 2) > GetUnixTime - StrToInt64Def(ATimeStamp, 0) ); | |||||
end; | end; | ||||
function GetNavToken: AnsiString; | function GetNavToken: AnsiString; | ||||
var | var | ||||
VNavToken: AnsiString; | VNavToken: AnsiString; | ||||
VTimeStamp: Integer; | |||||
VTimeStamp: AnsiString; | |||||
VResponseCode: Cardinal; | VResponseCode: Cardinal; | ||||
VResponseHeader, VResponseData: AnsiString; | VResponseHeader, VResponseData: AnsiString; | ||||
VRequestUrl, VRequestHeader: AnsiString; | VRequestUrl, VRequestHeader: AnsiString; | ||||
begin | begin | ||||
Result := ''; | Result := ''; | ||||
Global.Lock; | |||||
try | |||||
if Global.Exists(0) and Global.Exists(1) then begin | |||||
VNavToken := Global.GetVar(0); | |||||
VTimeStamp := Global.GetVar(1); | |||||
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; | |||||
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
Global.SetVar(0, Result); | |||||
Global.SetVar(1, GetUnixTime); | |||||
end; | |||||
if ScriptBuffer <> '' then begin | |||||
VNavToken := GetBetween(ScriptBuffer, cNavTokenKey, ';'); | |||||
VTimeStamp := GetBetween(ScriptBuffer, cTimeStampKey, ';'); | |||||
if (VNavToken <> '') and (VTimeStamp <> '') and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end else begin | |||||
ScriptBuffer := ''; | |||||
end; | end; | ||||
finally | |||||
Global.Unlock; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VTimeStamp := IntToStr(GetUnixTime); | |||||
VRequestUrl := 'https://backend.navionics.com/tile/get_key/NAVIONICS_WEBAPP_P01/webapp.navionics.com?_=' + VTimeStamp + '123'; | |||||
VRequestHeader := 'Origin: https://webapp.navionics.com' + #13#10 + 'Referer: https://webapp.navionics.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
ScriptBuffer := cNavTokenKey + Result + ';' + cTimeStampKey + VTimeStamp + ';'; | |||||
end; | |||||
end; | end; | ||||
end; | end; | ||||
@@ -68,7 +70,8 @@ var | |||||
begin | begin | ||||
VNavToken := GetNavToken; | VNavToken := GetNavToken; | ||||
if VNavToken <> '' then begin | if VNavToken <> '' then begin | ||||
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
ResultURL := GetURLBase + IntToStr(GetZ-1) + '/' + IntToStr(GetX) + '/' + | |||||
IntToStr(GetY) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
end else begin | end else begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
end; | end; | ||||
@@ -5,8 +5,7 @@ ParentSubMenu_ru=Водные карты | |||||
ParentSubMenu_uk=Водні карти | ParentSubMenu_uk=Водні карти | ||||
ParentSubMenu=Water maps | ParentSubMenu=Water maps | ||||
asLayer=1 | asLayer=1 | ||||
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} | |||||
ServerNames=1,2,3,4,5 | |||||
DefURLBase=https://backend.navionics.com/tile/ | |||||
NameInCache=navionics_sonarchart_layer | NameInCache=navionics_sonarchart_layer | ||||
Ext=.png | Ext=.png | ||||
ContentType=image/png | ContentType=image/png | ||||
@@ -14,4 +13,4 @@ projection=1 | |||||
sradiusa=6378137 | sradiusa=6378137 | ||||
sradiusb=6378137 | sradiusb=6378137 | ||||
IsUseDownloaderInScript=1 | IsUseDownloaderInScript=1 | ||||
RequestHead=Referer: https://maps.garmin.com/ | |||||
RequestHead=Referer: http://webapp.navionics.com/ |
@@ -1,63 +1,65 @@ | |||||
//****************************************************************************** | //****************************************************************************** | ||||
// LAYERS parameter: config_a_b_c | // LAYERS parameter: config_a_b_c | ||||
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | // a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | ||||
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// b = 10.00: for 10.00 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// c = 0 for pristine Navionics charts, 1 for Sonar Charts | // c = 0 for pristine Navionics charts, 1 for Sonar Charts | ||||
// | // | ||||
// TRANSPARENT parameter: | // TRANSPARENT parameter: | ||||
// FALSE for non-layer | // FALSE for non-layer | ||||
// TRUE for layer | // TRUE for layer | ||||
// | |||||
// | |||||
// UGC parameter: | |||||
// FALSE for pristine Navionics charts | |||||
// TRUE for additinal user-generated content icons | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cReqParams = 'LAYERS=config_1_1_1&TRANSPARENT=FALSE&theme=0'; | |||||
cReqParams = 'LAYERS=config_1_10.00_1&TRANSPARENT=FALSE&UGC=FALSE'; | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cTTL = 24*60*60; // 24 hour | |||||
cTTL = 24*60*60; // 24 hour | |||||
cNavTokenKey = 'NavToken='; | |||||
cTimeStampKey = 'TimeStamp='; | |||||
function CheckTTL(const ATimeStamp: Integer): Boolean; | |||||
function CheckTTL(const ATimeStamp: AnsiString): Boolean; | |||||
begin | begin | ||||
Result := (cTTL div 2) > GetUnixTime - ATimeStamp; | |||||
Result := ( (cTTL div 2) > GetUnixTime - StrToInt64Def(ATimeStamp, 0) ); | |||||
end; | end; | ||||
function GetNavToken: AnsiString; | function GetNavToken: AnsiString; | ||||
var | var | ||||
VNavToken: AnsiString; | VNavToken: AnsiString; | ||||
VTimeStamp: Integer; | |||||
VTimeStamp: AnsiString; | |||||
VResponseCode: Cardinal; | VResponseCode: Cardinal; | ||||
VResponseHeader, VResponseData: AnsiString; | VResponseHeader, VResponseData: AnsiString; | ||||
VRequestUrl, VRequestHeader: AnsiString; | VRequestUrl, VRequestHeader: AnsiString; | ||||
begin | begin | ||||
Result := ''; | Result := ''; | ||||
Global.Lock; | |||||
try | |||||
if Global.Exists(0) and Global.Exists(1) then begin | |||||
VNavToken := Global.GetVar(0); | |||||
VTimeStamp := Global.GetVar(1); | |||||
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; | |||||
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
Global.SetVar(0, Result); | |||||
Global.SetVar(1, GetUnixTime); | |||||
end; | |||||
if ScriptBuffer <> '' then begin | |||||
VNavToken := GetBetween(ScriptBuffer, cNavTokenKey, ';'); | |||||
VTimeStamp := GetBetween(ScriptBuffer, cTimeStampKey, ';'); | |||||
if (VNavToken <> '') and (VTimeStamp <> '') and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end else begin | |||||
ScriptBuffer := ''; | |||||
end; | end; | ||||
finally | |||||
Global.Unlock; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VTimeStamp := IntToStr(GetUnixTime); | |||||
VRequestUrl := 'https://backend.navionics.com/tile/get_key/NAVIONICS_WEBAPP_P01/webapp.navionics.com?_=' + VTimeStamp + '123'; | |||||
VRequestHeader := 'Origin: https://webapp.navionics.com' + #13#10 + 'Referer: https://webapp.navionics.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
ScriptBuffer := cNavTokenKey + Result + ';' + cTimeStampKey + VTimeStamp + ';'; | |||||
end; | |||||
end; | end; | ||||
end; | end; | ||||
@@ -68,7 +70,8 @@ var | |||||
begin | begin | ||||
VNavToken := GetNavToken; | VNavToken := GetNavToken; | ||||
if VNavToken <> '' then begin | if VNavToken <> '' then begin | ||||
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
ResultURL := GetURLBase + IntToStr(GetZ-1) + '/' + IntToStr(GetX) + '/' + | |||||
IntToStr(GetY) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
end else begin | end else begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
end; | end; | ||||
@@ -4,8 +4,7 @@ name=Navionics SonarChart(TM) | |||||
ParentSubMenu_ru=Водные карты | ParentSubMenu_ru=Водные карты | ||||
ParentSubMenu_uk=Водні карти | ParentSubMenu_uk=Водні карти | ||||
ParentSubMenu=Water maps | ParentSubMenu=Water maps | ||||
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} | |||||
ServerNames=1,2,3,4,5 | |||||
DefURLBase=https://backend.navionics.com/tile/ | |||||
NameInCache=navionics_sonarchart | NameInCache=navionics_sonarchart | ||||
Ext=.png | Ext=.png | ||||
ContentType=image/png | ContentType=image/png | ||||
@@ -13,4 +12,4 @@ projection=1 | |||||
sradiusa=6378137 | sradiusa=6378137 | ||||
sradiusb=6378137 | sradiusb=6378137 | ||||
IsUseDownloaderInScript=1 | IsUseDownloaderInScript=1 | ||||
RequestHead=Referer: https://maps.garmin.com/ | |||||
RequestHead=Referer: http://webapp.navionics.com/ |
@@ -1,63 +1,65 @@ | |||||
//****************************************************************************** | //****************************************************************************** | ||||
// LAYERS parameter: config_a_b_c | // LAYERS parameter: config_a_b_c | ||||
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | // a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | ||||
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// b = 10.00: for 10.00 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// c = 0 for pristine Navionics charts, 1 for Sonar Charts | // c = 0 for pristine Navionics charts, 1 for Sonar Charts | ||||
// | // | ||||
// TRANSPARENT parameter: | // TRANSPARENT parameter: | ||||
// FALSE for non-layer | // FALSE for non-layer | ||||
// TRUE for layer | // TRUE for layer | ||||
// | |||||
// | |||||
// UGC parameter: | |||||
// FALSE for pristine Navionics charts | |||||
// TRUE for additinal user-generated content icons | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cReqParams = 'LAYERS=config_1_1_0&TRANSPARENT=TRUE&theme=0'; | |||||
cReqParams = 'LAYERS=config_1_10.00_0&TRANSPARENT=TRUE&UGC=FALSE'; | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cTTL = 24*60*60; // 24 hour | |||||
cTTL = 24*60*60; // 24 hour | |||||
cNavTokenKey = 'NavToken='; | |||||
cTimeStampKey = 'TimeStamp='; | |||||
function CheckTTL(const ATimeStamp: Integer): Boolean; | |||||
function CheckTTL(const ATimeStamp: AnsiString): Boolean; | |||||
begin | begin | ||||
Result := (cTTL div 2) > GetUnixTime - ATimeStamp; | |||||
Result := ( (cTTL div 2) > GetUnixTime - StrToInt64Def(ATimeStamp, 0) ); | |||||
end; | end; | ||||
function GetNavToken: AnsiString; | function GetNavToken: AnsiString; | ||||
var | var | ||||
VNavToken: AnsiString; | VNavToken: AnsiString; | ||||
VTimeStamp: Integer; | |||||
VTimeStamp: AnsiString; | |||||
VResponseCode: Cardinal; | VResponseCode: Cardinal; | ||||
VResponseHeader, VResponseData: AnsiString; | VResponseHeader, VResponseData: AnsiString; | ||||
VRequestUrl, VRequestHeader: AnsiString; | VRequestUrl, VRequestHeader: AnsiString; | ||||
begin | begin | ||||
Result := ''; | Result := ''; | ||||
Global.Lock; | |||||
try | |||||
if Global.Exists(0) and Global.Exists(1) then begin | |||||
VNavToken := Global.GetVar(0); | |||||
VTimeStamp := Global.GetVar(1); | |||||
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; | |||||
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
Global.SetVar(0, Result); | |||||
Global.SetVar(1, GetUnixTime); | |||||
end; | |||||
if ScriptBuffer <> '' then begin | |||||
VNavToken := GetBetween(ScriptBuffer, cNavTokenKey, ';'); | |||||
VTimeStamp := GetBetween(ScriptBuffer, cTimeStampKey, ';'); | |||||
if (VNavToken <> '') and (VTimeStamp <> '') and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end else begin | |||||
ScriptBuffer := ''; | |||||
end; | end; | ||||
finally | |||||
Global.Unlock; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VTimeStamp := IntToStr(GetUnixTime); | |||||
VRequestUrl := 'https://backend.navionics.com/tile/get_key/NAVIONICS_WEBAPP_P01/webapp.navionics.com?_=' + VTimeStamp + '123'; | |||||
VRequestHeader := 'Origin: https://webapp.navionics.com' + #13#10 + 'Referer: https://webapp.navionics.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
ScriptBuffer := cNavTokenKey + Result + ';' + cTimeStampKey + VTimeStamp + ';'; | |||||
end; | |||||
end; | end; | ||||
end; | end; | ||||
@@ -68,7 +70,8 @@ var | |||||
begin | begin | ||||
VNavToken := GetNavToken; | VNavToken := GetNavToken; | ||||
if VNavToken <> '' then begin | if VNavToken <> '' then begin | ||||
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
ResultURL := GetURLBase + IntToStr(GetZ-1) + '/' + IntToStr(GetX) + '/' + | |||||
IntToStr(GetY) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
end else begin | end else begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
end; | end; | ||||
@@ -5,8 +5,7 @@ ParentSubMenu_uk=Водні карти | |||||
ParentSubMenu=Water maps | ParentSubMenu=Water maps | ||||
name=Navionics Marine Charts | name=Navionics Marine Charts | ||||
asLayer=1 | asLayer=1 | ||||
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} | |||||
ServerNames=1,2,3,4,5 | |||||
DefURLBase=https://backend.navionics.com/tile/ | |||||
NameInCache=navionics_layer | NameInCache=navionics_layer | ||||
Ext=.png | Ext=.png | ||||
ContentType=image/png | ContentType=image/png | ||||
@@ -14,4 +13,4 @@ projection=1 | |||||
sradiusa=6378137 | sradiusa=6378137 | ||||
sradiusb=6378137 | sradiusb=6378137 | ||||
IsUseDownloaderInScript=1 | IsUseDownloaderInScript=1 | ||||
RequestHead=Referer: https://maps.garmin.com/ | |||||
RequestHead=Referer: http://webapp.navionics.com/ |
@@ -1,63 +1,65 @@ | |||||
//****************************************************************************** | //****************************************************************************** | ||||
// LAYERS parameter: config_a_b_c | // LAYERS parameter: config_a_b_c | ||||
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | // a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms | ||||
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// b = 10.00: for 10.00 m safety depth (beginning of blue coloring) (unit equal to that set by a) | |||||
// c = 0 for pristine Navionics charts, 1 for Sonar Charts | // c = 0 for pristine Navionics charts, 1 for Sonar Charts | ||||
// | // | ||||
// TRANSPARENT parameter: | // TRANSPARENT parameter: | ||||
// FALSE for non-layer | // FALSE for non-layer | ||||
// TRUE for layer | // TRUE for layer | ||||
// | |||||
// | |||||
// UGC parameter: | |||||
// FALSE for pristine Navionics charts | |||||
// TRUE for additinal user-generated content icons | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cReqParams = 'LAYERS=config_1_1_0&TRANSPARENT=FALSE&theme=0'; | |||||
cReqParams = 'LAYERS=config_1_10.00_0&TRANSPARENT=FALSE&UGC=FALSE'; | |||||
//****************************************************************************** | //****************************************************************************** | ||||
const | const | ||||
cTTL = 24*60*60; // 24 hour | |||||
cTTL = 24*60*60; // 24 hour | |||||
cNavTokenKey = 'NavToken='; | |||||
cTimeStampKey = 'TimeStamp='; | |||||
function CheckTTL(const ATimeStamp: Integer): Boolean; | |||||
function CheckTTL(const ATimeStamp: AnsiString): Boolean; | |||||
begin | begin | ||||
Result := (cTTL div 2) > GetUnixTime - ATimeStamp; | |||||
Result := ( (cTTL div 2) > GetUnixTime - StrToInt64Def(ATimeStamp, 0) ); | |||||
end; | end; | ||||
function GetNavToken: AnsiString; | function GetNavToken: AnsiString; | ||||
var | var | ||||
VNavToken: AnsiString; | VNavToken: AnsiString; | ||||
VTimeStamp: Integer; | |||||
VTimeStamp: AnsiString; | |||||
VResponseCode: Cardinal; | VResponseCode: Cardinal; | ||||
VResponseHeader, VResponseData: AnsiString; | VResponseHeader, VResponseData: AnsiString; | ||||
VRequestUrl, VRequestHeader: AnsiString; | VRequestUrl, VRequestHeader: AnsiString; | ||||
begin | begin | ||||
Result := ''; | Result := ''; | ||||
Global.Lock; | |||||
try | |||||
if Global.Exists(0) and Global.Exists(1) then begin | |||||
VNavToken := Global.GetVar(0); | |||||
VTimeStamp := Global.GetVar(1); | |||||
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; | |||||
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
Global.SetVar(0, Result); | |||||
Global.SetVar(1, GetUnixTime); | |||||
end; | |||||
if ScriptBuffer <> '' then begin | |||||
VNavToken := GetBetween(ScriptBuffer, cNavTokenKey, ';'); | |||||
VTimeStamp := GetBetween(ScriptBuffer, cTimeStampKey, ';'); | |||||
if (VNavToken <> '') and (VTimeStamp <> '') and CheckTTL(VTimeStamp) then begin | |||||
Result := VNavToken; | |||||
end else begin | |||||
ScriptBuffer := ''; | |||||
end; | end; | ||||
finally | |||||
Global.Unlock; | |||||
end; | |||||
if (Result = '') and Assigned(Downloader) then begin | |||||
VTimeStamp := IntToStr(GetUnixTime); | |||||
VRequestUrl := 'https://backend.navionics.com/tile/get_key/NAVIONICS_WEBAPP_P01/webapp.navionics.com?_=' + VTimeStamp + '123'; | |||||
VRequestHeader := 'Origin: https://webapp.navionics.com' + #13#10 + 'Referer: https://webapp.navionics.com/'; | |||||
VResponseHeader := ''; | |||||
VResponseData := ''; | |||||
VResponseCode := Downloader.DoHttpRequest(VRequestUrl, VRequestHeader, '', VResponseHeader, VResponseData); | |||||
if VResponseCode = 200 then begin | |||||
Result := VResponseData; | |||||
ScriptBuffer := cNavTokenKey + Result + ';' + cTimeStampKey + VTimeStamp + ';'; | |||||
end; | |||||
end; | end; | ||||
end; | end; | ||||
@@ -68,7 +70,8 @@ var | |||||
begin | begin | ||||
VNavToken := GetNavToken; | VNavToken := GetNavToken; | ||||
if VNavToken <> '' then begin | if VNavToken <> '' then begin | ||||
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
ResultURL := GetURLBase + IntToStr(GetZ-1) + '/' + IntToStr(GetX) + '/' + | |||||
IntToStr(GetY) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; | |||||
end else begin | end else begin | ||||
ResultURL := ''; | ResultURL := ''; | ||||
end; | end; | ||||
@@ -1 +0,0 @@ | |||||
https://maps.garmin.com/en-US/marine?maps=another-brand&overlay=false&key=sr2w4buj85bn |
@@ -4,8 +4,7 @@ name=Navionics Marine Charts | |||||
ParentSubMenu_ru=Водные карты | ParentSubMenu_ru=Водные карты | ||||
ParentSubMenu_uk=Водні карти | ParentSubMenu_uk=Водні карти | ||||
ParentSubMenu=Water maps | ParentSubMenu=Water maps | ||||
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} | |||||
ServerNames=1,2,3,4,5 | |||||
DefURLBase=https://backend.navionics.com/tile/ | |||||
NameInCache=navionics | NameInCache=navionics | ||||
Ext=.png | Ext=.png | ||||
ContentType=image/png | ContentType=image/png | ||||
@@ -13,4 +12,4 @@ projection=1 | |||||
sradiusa=6378137 | sradiusa=6378137 | ||||
sradiusb=6378137 | sradiusb=6378137 | ||||
IsUseDownloaderInScript=1 | IsUseDownloaderInScript=1 | ||||
RequestHead=Referer: https://maps.garmin.com/ | |||||
RequestHead=Referer: http://webapp.navionics.com/ |
@@ -0,0 +1,3 @@ | |||||
begin | |||||
ResultURL:=GetURLBase+inttostr(GetX)+'&y='+inttostr(GetY)+'&z='+inttostr(GetZ-1); | |||||
end. |
@@ -1,5 +1,4 @@ | |||||
| |||||
[PARAMS] | |||||
[PARAMS] | |||||
pnum=5 | pnum=5 | ||||
GUID={38E29DB4-A654-5D08-836C-936325F0B63A} | GUID={38E29DB4-A654-5D08-836C-936325F0B63A} | ||||
asLayer=1 | asLayer=1 | ||||
@@ -10,9 +9,7 @@ name_ru=Яндекс - Народная Карта | |||||
name=Yandex - Narod Map | name=Yandex - Narod Map | ||||
name_uk=Яндекс -Народная Карта | name_uk=Яндекс -Народная Карта | ||||
NameInCache=yanarodmap2015 | NameInCache=yanarodmap2015 | ||||
DefURLBase=https://{s}.core-nmaps-renderer-nmaps.maps.yandex.net/tile2?x={x}&y={y}&z={z}&l=mpskl&sl=ad_border_all_skl%2Cad_cnt%2Caddr_regular%2Czipcode_z12%2Cpoi_entrance%2Chydro_fc%2Chydro_line_skl%2Chydro_point%2Cvehicle_restriction_area%2Crd_oneway%2Crd_junctions%2Crd_all_skl%2Curban_roadnet%2Cfence_skl%2Cbld_regular%2Cpoi_auto%2Cpoi_service%2Cpoi_government%2Cpoi_urban%2Cpoi_food%2Cpoi_other%2Cpoi_culture%2Cpoi_medicine%2Cpoi_edu%2Cpoi_leisure%2Cpoi_industry%2Cpoi_backa_null%2Cpoi_religion%2Cpoi_sport%2Cpoi_construction%2Cpoi_shopping%2Cpoi_finance%2Cparking_lot_linear%2Cparking_lot_regular%2Cvegetation_el_standart%2Cvegetation_cnt%2Crelief_line%2Crelief_point%2Ctransport_terminal%2Ctransport_airport%2Ctransport_helicopter%2Ctransport_metro_exit%2Ctransport_waterway_line%2Ctransport_railway%2Ctransport_metro_line%2Ctransport_stop%2Ctransport_railway_platform%2Ctransport_waterway_stop%2Ctransport_railway_station%2Ctransport_metro_station%2Ctransport_airport_terminal%2Ctransport_tram_line%2Croad_surface&token=1478288583:53135460:core.1478288583:31217270:trunk | |||||
ServerNames=01,02,03,04 | |||||
RequestHead=Referer: https://n.maps.yandex.ru/ | |||||
DefURLBase=https://01.core-nmaps-renderer-nmaps.maps.yandex.net/tile?l=mpskl&sl=104,210316,210342,210370,210416,211777,211818,211939,211977,211993,212015,212017,212019,212026,212032,212053,212081,212094,212216,300024,300026,300170,300198,300207,300231,300292,300330,300337,300344,300351,300358,300365,300372,300379,300386,300393,300400,300406,300407,300468,300472,300523,300641,300651,300661,300671,300931,300939,300954,300969,300993,301050,301084,301125,301135,301142,301338,301352,301360,301596,302053,302080,302089,302090,302107,302526,5300026,5400046,5400051,5400060,5400076,70300160,70300190,70300482&token=1478288583:53135460:core.1478288583:31217270:trunk&x= | |||||
ContentType=image/png | ContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
projection=2 | projection=2 | ||||
@@ -0,0 +1,3 @@ | |||||
begin | |||||
ResultURL:=GetURLBase+inttostr(GetX)+'&y='+inttostr(GetY)+'&z='+inttostr(GetZ-1); | |||||
end. |
@@ -1,5 +1,4 @@ | |||||
| |||||
[PARAMS] | |||||
[PARAMS] | |||||
pnum=5 | pnum=5 | ||||
GUID={38E29DB4-A654-5D08-5555-936325F0B63A} | GUID={38E29DB4-A654-5D08-5555-936325F0B63A} | ||||
ParentSubMenu_ru=Городские и универсальные | ParentSubMenu_ru=Городские и универсальные | ||||
@@ -9,11 +8,9 @@ name_ru=Yandex - Народная Карта | |||||
name_uk=Yandex - Народная Карта | name_uk=Yandex - Народная Карта | ||||
name=Yandex - Narod Map | name=Yandex - Narod Map | ||||
NameInCache=yanarodscheme2015 | NameInCache=yanarodscheme2015 | ||||
DefURLBase=https://{s}.core-nmaps-renderer-nmaps.maps.yandex.net/tile2?x={x}&y={y}&z={z}&l=mpmap&sl=ad_map_area%2Cad_border_all_map%2Cad_cnt%2Caddr_regular%2Czipcode_z12%2Cpoi_entrance%2Chydro_fc%2Chydro_line_map%2Chydro_area%2Chydro_point%2Crd_oneway%2Crd_junctions%2Crd_all_map%2Curban_roadnet%2Cfence_map%2Cbld_regular%2Cpoi_auto%2Cpoi_service%2Cpoi_government%2Cpoi_urban%2Cpoi_food%2Cpoi_other%2Cpoi_culture%2Cpoi_medicine%2Cpoi_edu%2Cpoi_leisure%2Cpoi_industry%2Cpoi_backa_null%2Cpoi_religion%2Cpoi_sport%2Cpoi_construction%2Cpoi_shopping%2Cpoi_finance%2Cparking_lot_linear%2Cparking_lot_regular%2Cvegetation_plant_color%2Cvegetation_area%2Cvegetation_cnt%2Crelief_line_map%2Crelief_area%2Crelief_point%2Curban_areal%2Ctransport_terminal%2Ctransport_airport%2Ctransport_helicopter%2Ctransport_metro_exit%2Ctransport_waterway_line%2Ctransport_railway%2Ctransport_metro_line%2Ctransport_stop%2Ctransport_railway_platform%2Ctransport_waterway_stop%2Ctransport_railway_station%2Ctransport_metro_station%2Ctransport_airport_terminal%2Ctransport_tram_line%2Croad_surface_map&token=1534368522:170042125:core.1534368522:169099502:social | |||||
ServerNames=01,02,03,04 | |||||
RequestHead=Referer: https://n.maps.yandex.ru/ | |||||
DefURLBase=https://01.core-nmaps-renderer-nmaps.maps.yandex.net/tile?l=mpmap&sl=104,210342,210370,211777,211818,211939,211993,212015,212019,212026,212032,212081,212216,300024,300026,300198,300270,300292,300330,300337,300344,300351,300358,300365,300372,300379,300386,300393,300400,300406,300407,300468,300472,300523,300641,300651,300661,300683,300931,300939,300954,300969,300993,301050,301084,301125,301135,301155,301164,301183,301275,301383,301388,301494,301501,301520,301596,301676,301685,301700,301773,302053,302080,302089,302090,302107,302526,5300026,5400032,5400052,5400061,700010001,700010157,701302007,70300160,70300190,70300482,70300613,70300627&token=1534368522:170042125:core.1534368522:169099502:social&x= | |||||
ContentType=image/png | ContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
projection=2 | projection=2 | ||||
sradiusa=6378137 | sradiusa=6378137 | ||||
sradiusb=6356752 | |||||
sradiusb=6356752 |
@@ -1,18 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={917C7B42-52B2-42DD-9BA3-37543880AE71} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Билайн - 2G | |||||
name=Beeline - 2G | |||||
NameInCache=Mobile_Coverage_Beeline_2G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/2G/current/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={3FDF3156-0F4D-4C28-B340-E7B979ACFF2A} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Билайн - 3G | |||||
name=Beeline - 3G | |||||
NameInCache=Mobile_Coverage_Beeline_3G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/3G/current/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={92589DAB-0DE9-4564-B6C9-F6580391D928} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Билайн - 4G | |||||
name=Beeline - 4G | |||||
NameInCache=Mobile_Coverage_Beeline_4G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/4G/current/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={C32B96AD-3AC5-4170-ADD7-47B2222AF383} | |||||
ParentSubMenu_ru=Ñîòîâûå ñåòè | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Áèëàéí - IoT | |||||
name=Beeline - IoT | |||||
NameInCache=Mobile_Coverage_Beeline_IoT | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/NB_IoT/current/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={EAE1B478-21E7-47BA-98DE-A2F6448C1EB3} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=МТС - 2G | |||||
name=MTS - 2G | |||||
NameInCache=Mobile_Coverage_MTS_2G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://tiles.qsupport.mts.ru/g2_New/{z}/{x}/{y} | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={915BE79F-1CEA-4371-A46F-6D9B409C0490} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=МТС - 3G | |||||
name=MTS - 3G | |||||
NameInCache=Mobile_Coverage_MTS_3G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://tiles.qsupport.mts.ru/g3_New/{z}/{x}/{y} | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={81A6C5E7-18BB-4CA8-9F7E-9F6DE583AD0C} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=МТС - 4G | |||||
name=MTS - 4G | |||||
NameInCache=Mobile_Coverage_MTS_4G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://tiles.qsupport.mts.ru/lte_New/{z}/{x}/{y} | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={EFD8AF1B-809D-48E0-8E14-1A5DE6670620} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=МТС - 4G Планируемое | |||||
name=MTS - 4G Planned | |||||
NameInCache=Mobile_Coverage_MTS_4G_planned | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://tiles.qsupport.mts.ru/lte_plan_New/{z}/{x}/{y} | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={81A6C5E7-18BB-4CA8-9F7E-9F6DE583AD01} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=МТС - 5G | |||||
name=MTS - 5G | |||||
NameInCache=Mobile_Coverage_MTS_5G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://tiles.qsupport.mts.ru/g5/{z}/{x}/{y} | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={70A56637-B8F6-4286-8816-A9B03836ADB4} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=МТС - IoT Интернет вещей | |||||
name=MTS - IoT | |||||
NameInCache=Mobile_Coverage_MTS_IoT | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://tiles.qsupport.mts.ru/nb_iot/{z}/{x}/{y} | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={DEC12883-2FD6-4BBF-ABCE-816A53A30316} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Мегафон - 2G | |||||
name=Megafon - 2G | |||||
NameInCache=Mobile_Coverage_Megafon_2G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=2g | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={983D5EF4-AFB1-49BA-8A91-9CE2D2EE1B5D} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Мегафон - 3G | |||||
name=Megafon - 3G | |||||
NameInCache=Mobile_Coverage_Megafon_3G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=3g | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={631598FB-0318-4BD9-B388-147FA0EF910D} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Мегафон - 4G | |||||
name=Megafon - 4G | |||||
NameInCache=Mobile_Coverage_Megafon_4G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=lte | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={34EA0BAA-5E99-45C5-A6EA-2BFBA9062DA9} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Мегафон - 4G+ | |||||
name=Megafon - 4G+ | |||||
NameInCache=Mobile_Coverage_Megafon_4Gplus | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=lte_plus | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -0,0 +1 @@ | |||||
begin ResultURL:=GetURLBase+inttostr(GetZ-1)+'/'+inttostr(GetX)+'/'+inttostr(GetY)+'.png'; end. |
@@ -3,10 +3,12 @@ GUID={68854321-4345-4387-9BE2-D2764677117E} | |||||
asLayer=1 | asLayer=1 | ||||
name_ru=Ростелеком 2G | name_ru=Ростелеком 2G | ||||
name=Rostelecom 2G | name=Rostelecom 2G | ||||
name_uk=Ростелеком 2G | |||||
ParentSubMenu_ru=Сотовые сети | ParentSubMenu_ru=Сотовые сети | ||||
ParentSubMenu_uk=Стільниковий зв'язок | |||||
ParentSubMenu=Mobile coverage area | ParentSubMenu=Mobile coverage area | ||||
NameInCache=cover.rostelecom.2g | NameInCache=cover.rostelecom.2g | ||||
DefURLBase=https://rt-static-cdn.rt.ru/maps/2g/{z}/{x}/{y}.png | |||||
DefURLBase=http://tele2.tilessputnik.ru/tiles/ | |||||
ContentType=image/png | ContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
License=(c) Ростелеком, sputnik.ru, Tele2 |
@@ -0,0 +1 @@ | |||||
begin ResultURL:=GetURLBase+inttostr(GetZ-1)+'/'+inttostr(GetX)+'/'+inttostr(GetY)+'.png'; end. |
@@ -3,9 +3,12 @@ GUID={63573689-ABCD-4387-9BE2-DDDF185C117E} | |||||
asLayer=1 | asLayer=1 | ||||
name_ru=Ростелеком 3G | name_ru=Ростелеком 3G | ||||
name=Rostelecom.ru 3G | name=Rostelecom.ru 3G | ||||
name_uk=Ростелеком 3G | |||||
ParentSubMenu_ru=Сотовые сети | ParentSubMenu_ru=Сотовые сети | ||||
ParentSubMenu_uk=Стільниковий зв'язок | |||||
ParentSubMenu=Mobile coverage area | ParentSubMenu=Mobile coverage area | ||||
NameInCache=cover.rostelecom.3g | NameInCache=cover.rostelecom.3g | ||||
DefURLBase=https://rt-static-cdn.rt.ru/maps/3g/{z}/{x}/{y}.png | |||||
DefURLBase=http://tele2.tilessputnik.ru/tiles3g/ | |||||
ContentType=image/png | ContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
License=(c) Ростелеком, sputnik.ru, Tele2 |
@@ -0,0 +1 @@ | |||||
begin ResultURL:=GetURLBase+inttostr(GetZ-1)+'/'+inttostr(GetX)+'/'+inttostr(GetY)+'.png'; end. |
@@ -3,9 +3,12 @@ GUID={63573689-ABCD-4387-9BE2-CDE83888321E} | |||||
asLayer=1 | asLayer=1 | ||||
name_ru=Ростелеком 4G | name_ru=Ростелеком 4G | ||||
name=Rostelecom.ru 4G | name=Rostelecom.ru 4G | ||||
name_uk=Ростелеком 4G | |||||
ParentSubMenu_ru=Сотовые сети | ParentSubMenu_ru=Сотовые сети | ||||
ParentSubMenu_uk=Стільниковий зв'язок | |||||
ParentSubMenu=Mobile coverage area | ParentSubMenu=Mobile coverage area | ||||
NameInCache=cover.rostelecom.4g | NameInCache=cover.rostelecom.4g | ||||
DefURLBase=https://rt-static-cdn.rt.ru/maps/4g/{z}/{x}/{y}.png | |||||
DefURLBase=http://tele2.tilessputnik.ru/tiles4g/ | |||||
ContentType=image/png | ContentType=image/png | ||||
Ext=.png | Ext=.png | ||||
License=(c) Ростелеком, sputnik.ru, Tele2 |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={637BCD8F-C6EB-4F41-B72D-7B711EB90705} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Tele2 - 2G | |||||
NameInCache=Mobile_Coverage_Tele2_2G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://spb.tele2.ru/maps/_2g/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={05B740B9-AC77-4834-A944-16D0DCDF96A5} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Tele2 - 3G | |||||
NameInCache=Mobile_Coverage_Tele2_3G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://spb.tele2.ru/maps/_3g/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={F47B1B16-F947-4523-8ABC-7106486A955C} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Tele2 - 4G | |||||
NameInCache=Mobile_Coverage_Tele2_4G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://spb.tele2.ru/maps/_4g/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={389293D0-7958-4F78-AB74-779005735811} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Tele2 - LTE 450 | |||||
NameInCache=Mobile_Coverage_Tele2_4G_450_WGS84 | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://spb.tele2.ru/maps/_skylink/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={582C5CD9-F93F-4ADB-A9FB-B9E0361E2625} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Тинькофф - 2G | |||||
name=Tinkoff - 2G | |||||
NameInCache=Mobile_Coverage_Tinkoff_2G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://mvno-maps.cdn-tinkoff.ru/coverage/2g/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={2641E02D-25C9-4CE9-97B6-1D712CC4C2AF} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Тинькофф - 3G | |||||
name=Tinkoff - 3G | |||||
NameInCache=Mobile_Coverage_Tinkoff_3G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://mvno-maps.cdn-tinkoff.ru/coverage/3g/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,13 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={77484D08-28A0-45BC-9EC2-F16428E18D4C} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Тинькофф - 4G | |||||
name=Tinkoff - 4G | |||||
NameInCache=Mobile_Coverage_Tinkoff_4G | |||||
asLayer=1 | |||||
EPSG=3857 | |||||
DefURLBase=https://mvno-maps.cdn-tinkoff.ru/coverage/4g/{z}/{x}/{y}.png | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={9CBE59AD-6EDB-4CC7-B31A-29C5B1CB4AF1} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Yota - 2G | |||||
NameInCache=Mobile_Coverage_Yota_2G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=2g&yota | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={A815F7B3-1794-4E8B-8F84-4E91B815C2C3} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Yota - 3G | |||||
NameInCache=Mobile_Coverage_Yota_3G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=3g&yota | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={E2A08052-019B-4611-8FFC-1A80F19D0730} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Yota - 4G | |||||
NameInCache=Mobile_Coverage_Yota_4G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=lte&yota | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -1,12 +0,0 @@ | |||||
[PARAMS] | |||||
GUID={E2A08052-019B-4611-8FFC-1A80F19D0731} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu=Mobile coverage area | |||||
name=Yota - 4Gplus | |||||
NameInCache=Mobile_Coverage_Yota_4Gplus | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://coverage-map.megafon.ru/{z}/{x}/{y}.png?layers=lte_plus&yota | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png |
@@ -0,0 +1,8 @@ | |||||
| |||||
Этот файл был создан автоматически с помощью файло-генератора AnyGIS.ru | |||||
Он должен работать с SasPlanet версии 200127.10112 (nightly) и новее. | |||||
Если вы заметили ошибку, свяжитесь со мной и сообщите о ней: | |||||
https://t.me/anygis | |||||
https://vk.com/anygis | |||||
anygis@bk.ru |
@@ -0,0 +1,24 @@ | |||||
| |||||
[PARAMS] | |||||
GUID={917C7B42-52B2-42DD-9BA3-37543880AE71} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu_uk=Стільниковий зв'язок | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Билайн - 2G | |||||
name_uk=Билайн - 2G | |||||
name=Beeline - 2G | |||||
NameInCache=Mobile_Coverage_Beeline_2G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/2G/current/{z}/{x}/{y}.png | |||||
RequestHead=Referer:https://moskva.beeline.ru/customers/beeline-map/?lat=55.75999999999371&lon=37.6317&zoom=12\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36\r\nAccept: image/webp,image/apng,image/*,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: ru,en-US;q=0.9,en;q=0.8 | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png | |||||
License= © Билайн |
@@ -0,0 +1,8 @@ | |||||
| |||||
Этот файл был создан автоматически с помощью файло-генератора AnyGIS.ru | |||||
Он должен работать с SasPlanet версии 200127.10112 (nightly) и новее. | |||||
Если вы заметили ошибку, свяжитесь со мной и сообщите о ней: | |||||
https://t.me/anygis | |||||
https://vk.com/anygis | |||||
anygis@bk.ru |
@@ -0,0 +1,24 @@ | |||||
| |||||
[PARAMS] | |||||
GUID={3FDF3156-0F4D-4C28-B340-E7B979ACFF2A} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu_uk=Стільниковий зв'язок | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Билайн - 3G | |||||
name_uk=Билайн - 3G | |||||
name=Beeline - 3G | |||||
NameInCache=Mobile_Coverage_Beeline_3G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/3G/current/{z}/{x}/{y}.png | |||||
RequestHead=Referer:https://moskva.beeline.ru/customers/beeline-map/?lat=55.75999999999371&lon=37.6317&zoom=12\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36\r\nAccept: image/webp,image/apng,image/*,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: ru,en-US;q=0.9,en;q=0.8 | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png | |||||
License= © Билайн |
@@ -0,0 +1,8 @@ | |||||
| |||||
Этот файл был создан автоматически с помощью файло-генератора AnyGIS.ru | |||||
Он должен работать с SasPlanet версии 200127.10112 (nightly) и новее. | |||||
Если вы заметили ошибку, свяжитесь со мной и сообщите о ней: | |||||
https://t.me/anygis | |||||
https://vk.com/anygis | |||||
anygis@bk.ru |
@@ -0,0 +1,24 @@ | |||||
| |||||
[PARAMS] | |||||
GUID={92589DAB-0DE9-4564-B6C9-F6580391D928} | |||||
ParentSubMenu_ru=Сотовые сети | |||||
ParentSubMenu_uk=Стільниковий зв'язок | |||||
ParentSubMenu=Mobile coverage area | |||||
name_ru=Билайн - 4G | |||||
name_uk=Билайн - 4G | |||||
name=Beeline - 4G | |||||
NameInCache=Mobile_Coverage_Beeline_4G | |||||
asLayer=1 | |||||
EPSG=3395 | |||||
DefURLBase=https://static.beeline.ru/upload/tiles/3G/current/{z}/{x}/{y}.png | |||||
RequestHead=Referer:https://moskva.beeline.ru/customers/beeline-map/?lat=55.75999999999371&lon=37.6317&zoom=12\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36\r\nAccept: image/webp,image/apng,image/*,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: ru,en-US;q=0.9,en;q=0.8 | |||||
Ext=.png | |||||
DetectContentType=1 | |||||
ContentType=image/jpeg,image/png | |||||
License= © Билайн |
@@ -0,0 +1,8 @@ | |||||
| |||||
Этот файл был создан автоматически с помощью файло-генератора AnyGIS.ru | |||||
Он должен работать с SasPlanet версии 200127.10112 (nightly) и новее. | |||||
Если вы заметили ошибку, свяжитесь со мной и сообщите о ней: | |||||
https://t.me/anygis | |||||
https://vk.com/anygis | |||||
anygis@bk.ru |