From 6a6886a3089ebc6ab2cdaf03e1b7404a16cd8b84 Mon Sep 17 00:00:00 2001 From: sasgis <> Date: Mon, 1 Jan 2007 12:00:00 +0000 Subject: [PATCH] update zmp --- .../GetUrlScript.txt | 42 ++++++++++--------- .../navionics.SonarChart.layer.zmp/params.txt | 3 +- .../navionics.SonarChart.zmp/GetUrlScript.txt | 42 ++++++++++--------- Navionics/navionics.SonarChart.zmp/params.txt | 3 +- .../navionics.layer.zmp/GetUrlScript.txt | 42 ++++++++++--------- Navionics/navionics.layer.zmp/params.txt | 3 +- Navionics/navionics.zmp/GetUrlScript.txt | 42 ++++++++++--------- Navionics/navionics.zmp/params.txt | 3 +- 8 files changed, 96 insertions(+), 84 deletions(-) diff --git a/Navionics/navionics.SonarChart.layer.zmp/GetUrlScript.txt b/Navionics/navionics.SonarChart.layer.zmp/GetUrlScript.txt index fc067398..e5820cc1 100644 --- a/Navionics/navionics.SonarChart.layer.zmp/GetUrlScript.txt +++ b/Navionics/navionics.SonarChart.layer.zmp/GetUrlScript.txt @@ -1,22 +1,19 @@ //****************************************************************************** -// LAYERS parameter: config_a_b_c -// 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) -// c = 0 for pristine Navionics charts, 1 for Sonar Charts -// -// TRANSPARENT parameter: -// FALSE for non-layer -// TRUE for layer -// +// transparent true/false +// ugc - garmin active captain +// layer - 0 Seachart, 1 Sonarchart +// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms +// sd - safe depth +// sa ? //****************************************************************************** const - cReqParams = 'LAYERS=config_1_1_1&TRANSPARENT=TRUE&theme=0'; + cReqParams = 'transparent=true&ugc=true&layer=1&du=1&sd=2&sa=false'; //****************************************************************************** const - cTTL = 24*60*60; // 24 hour + cTTL = 10*60; // 10 Minutes function CheckTTL(const ATimeStamp: Integer): Boolean; begin @@ -25,7 +22,7 @@ end; function GetNavToken: AnsiString; var - VNavToken: AnsiString; + VNavTokensJson: AnsiString; VTimeStamp: Integer; VResponseCode: Cardinal; VResponseHeader, VResponseData: AnsiString; @@ -36,15 +33,15 @@ begin Global.Lock; try if Global.Exists(0) and Global.Exists(1) then begin - VNavToken := Global.GetVar(0); + VNavTokensJson := Global.GetVar(0); VTimeStamp := Global.GetVar(1); - if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin - Result := VNavToken; + if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin + Result := VNavTokensJson; end; end; - if (Result = '') and Assigned(Downloader) then begin - VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; + if (Result = '') and Assigned(Downloader) then begin + VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens'; VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; VResponseHeader := ''; VResponseData := ''; @@ -64,11 +61,18 @@ end; //****************************************************************************** var + VBuf : AnsiString; VNavToken: AnsiString; + VNavBearer: AnsiString; begin - VNavToken := GetNavToken; + VBuf := GetNavToken; + VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1); + VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1); if VNavToken <> '' then begin - ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; + ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams; + RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 + + 'Origin: https://maps.garmin.com' + #13#10 + + 'Authorization: Bearer '+ VNavBearer; end else begin ResultURL := ''; end; diff --git a/Navionics/navionics.SonarChart.layer.zmp/params.txt b/Navionics/navionics.SonarChart.layer.zmp/params.txt index fed5627e..6fcdf32f 100644 --- a/Navionics/navionics.SonarChart.layer.zmp/params.txt +++ b/Navionics/navionics.SonarChart.layer.zmp/params.txt @@ -5,7 +5,7 @@ ParentSubMenu_ru=Водные карты ParentSubMenu_uk=Водні карти ParentSubMenu=Water maps asLayer=1 -DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} +DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y} ServerNames=1,2,3,4,5 NameInCache=navionics_sonarchart_layer Ext=.png @@ -14,4 +14,3 @@ projection=1 sradiusa=6378137 sradiusb=6378137 IsUseDownloaderInScript=1 -RequestHead=Referer: https://maps.garmin.com/ diff --git a/Navionics/navionics.SonarChart.zmp/GetUrlScript.txt b/Navionics/navionics.SonarChart.zmp/GetUrlScript.txt index 57135810..43152801 100644 --- a/Navionics/navionics.SonarChart.zmp/GetUrlScript.txt +++ b/Navionics/navionics.SonarChart.zmp/GetUrlScript.txt @@ -1,22 +1,19 @@ //****************************************************************************** -// LAYERS parameter: config_a_b_c -// 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) -// c = 0 for pristine Navionics charts, 1 for Sonar Charts -// -// TRANSPARENT parameter: -// FALSE for non-layer -// TRUE for layer -// +// transparent true/false +// ugc - garmin active captain +// layer - 0 Seachart, 1 Sonarchart +// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms +// sd - safe depth +// sa ? //****************************************************************************** const - cReqParams = 'LAYERS=config_1_1_1&TRANSPARENT=FALSE&theme=0'; + cReqParams = 'transparent=false&ugc=true&layer=1&du=1&sd=2&sa=false'; //****************************************************************************** const - cTTL = 24*60*60; // 24 hour + cTTL = 10*60; // 10 Minutes function CheckTTL(const ATimeStamp: Integer): Boolean; begin @@ -25,7 +22,7 @@ end; function GetNavToken: AnsiString; var - VNavToken: AnsiString; + VNavTokensJson: AnsiString; VTimeStamp: Integer; VResponseCode: Cardinal; VResponseHeader, VResponseData: AnsiString; @@ -36,15 +33,15 @@ begin Global.Lock; try if Global.Exists(0) and Global.Exists(1) then begin - VNavToken := Global.GetVar(0); + VNavTokensJson := Global.GetVar(0); VTimeStamp := Global.GetVar(1); - if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin - Result := VNavToken; + if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin + Result := VNavTokensJson; end; end; - if (Result = '') and Assigned(Downloader) then begin - VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; + if (Result = '') and Assigned(Downloader) then begin + VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens'; VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; VResponseHeader := ''; VResponseData := ''; @@ -64,11 +61,18 @@ end; //****************************************************************************** var + VBuf : AnsiString; VNavToken: AnsiString; + VNavBearer: AnsiString; begin - VNavToken := GetNavToken; + VBuf := GetNavToken; + VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1); + VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1); if VNavToken <> '' then begin - ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; + ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams; + RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 + + 'Origin: https://maps.garmin.com' + #13#10 + + 'Authorization: Bearer '+ VNavBearer; end else begin ResultURL := ''; end; diff --git a/Navionics/navionics.SonarChart.zmp/params.txt b/Navionics/navionics.SonarChart.zmp/params.txt index 2ac48ace..5bc25712 100644 --- a/Navionics/navionics.SonarChart.zmp/params.txt +++ b/Navionics/navionics.SonarChart.zmp/params.txt @@ -4,7 +4,7 @@ name=Navionics SonarChart(TM) ParentSubMenu_ru=Водные карты ParentSubMenu_uk=Водні карти ParentSubMenu=Water maps -DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} +DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y} ServerNames=1,2,3,4,5 NameInCache=navionics_sonarchart Ext=.png @@ -13,4 +13,3 @@ projection=1 sradiusa=6378137 sradiusb=6378137 IsUseDownloaderInScript=1 -RequestHead=Referer: https://maps.garmin.com/ diff --git a/Navionics/navionics.layer.zmp/GetUrlScript.txt b/Navionics/navionics.layer.zmp/GetUrlScript.txt index 6045ab21..2218d384 100644 --- a/Navionics/navionics.layer.zmp/GetUrlScript.txt +++ b/Navionics/navionics.layer.zmp/GetUrlScript.txt @@ -1,22 +1,19 @@ //****************************************************************************** -// LAYERS parameter: config_a_b_c -// 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) -// c = 0 for pristine Navionics charts, 1 for Sonar Charts -// -// TRANSPARENT parameter: -// FALSE for non-layer -// TRUE for layer -// +// transparent true/false +// ugc - garmin active captain +// layer - 0 Seachart, 1 Sonarchart +// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms +// sd - safe depth +// sa ? //****************************************************************************** const - cReqParams = 'LAYERS=config_1_1_0&TRANSPARENT=TRUE&theme=0'; + cReqParams = 'transparent=true&ugc=true&layer=0&du=1&sd=2&sa=false'; //****************************************************************************** const - cTTL = 24*60*60; // 24 hour + cTTL = 10*60; // 10 Minutes function CheckTTL(const ATimeStamp: Integer): Boolean; begin @@ -25,7 +22,7 @@ end; function GetNavToken: AnsiString; var - VNavToken: AnsiString; + VNavTokensJson: AnsiString; VTimeStamp: Integer; VResponseCode: Cardinal; VResponseHeader, VResponseData: AnsiString; @@ -36,15 +33,15 @@ begin Global.Lock; try if Global.Exists(0) and Global.Exists(1) then begin - VNavToken := Global.GetVar(0); + VNavTokensJson := Global.GetVar(0); VTimeStamp := Global.GetVar(1); - if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin - Result := VNavToken; + if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin + Result := VNavTokensJson; end; end; - if (Result = '') and Assigned(Downloader) then begin - VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; + if (Result = '') and Assigned(Downloader) then begin + VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens'; VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; VResponseHeader := ''; VResponseData := ''; @@ -64,11 +61,18 @@ end; //****************************************************************************** var + VBuf : AnsiString; VNavToken: AnsiString; + VNavBearer: AnsiString; begin - VNavToken := GetNavToken; + VBuf := GetNavToken; + VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1); + VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1); if VNavToken <> '' then begin - ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; + ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams; + RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 + + 'Origin: https://maps.garmin.com' + #13#10 + + 'Authorization: Bearer '+ VNavBearer; end else begin ResultURL := ''; end; diff --git a/Navionics/navionics.layer.zmp/params.txt b/Navionics/navionics.layer.zmp/params.txt index 3a6c7a72..04e26de2 100644 --- a/Navionics/navionics.layer.zmp/params.txt +++ b/Navionics/navionics.layer.zmp/params.txt @@ -5,7 +5,7 @@ ParentSubMenu_uk=Водні карти ParentSubMenu=Water maps name=Navionics Marine Charts asLayer=1 -DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} +DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y} ServerNames=1,2,3,4,5 NameInCache=navionics_layer Ext=.png @@ -14,4 +14,3 @@ projection=1 sradiusa=6378137 sradiusb=6378137 IsUseDownloaderInScript=1 -RequestHead=Referer: https://maps.garmin.com/ diff --git a/Navionics/navionics.zmp/GetUrlScript.txt b/Navionics/navionics.zmp/GetUrlScript.txt index 4540df7e..d9e9af78 100644 --- a/Navionics/navionics.zmp/GetUrlScript.txt +++ b/Navionics/navionics.zmp/GetUrlScript.txt @@ -1,22 +1,19 @@ //****************************************************************************** -// LAYERS parameter: config_a_b_c -// 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) -// c = 0 for pristine Navionics charts, 1 for Sonar Charts -// -// TRANSPARENT parameter: -// FALSE for non-layer -// TRUE for layer -// +// transparent true/false +// ugc - garmin active captain +// layer - 0 Seachart, 1 Sonarchart +// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms +// sd - safe depth +// sa ? //****************************************************************************** const - cReqParams = 'LAYERS=config_1_1_0&TRANSPARENT=FALSE&theme=0'; + cReqParams = 'transparent=false&ugc=true&layer=0&du=1&sd=2&sa=false'; //****************************************************************************** const - cTTL = 24*60*60; // 24 hour + cTTL = 10*60; // 10 Minutes function CheckTTL(const ATimeStamp: Integer): Boolean; begin @@ -25,7 +22,7 @@ end; function GetNavToken: AnsiString; var - VNavToken: AnsiString; + VNavTokensJson: AnsiString; VTimeStamp: Integer; VResponseCode: Cardinal; VResponseHeader, VResponseData: AnsiString; @@ -36,15 +33,15 @@ begin Global.Lock; try if Global.Exists(0) and Global.Exists(1) then begin - VNavToken := Global.GetVar(0); + VNavTokensJson := Global.GetVar(0); VTimeStamp := Global.GetVar(1); - if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin - Result := VNavToken; + if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin + Result := VNavTokensJson; end; end; - if (Result = '') and Assigned(Downloader) then begin - VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com'; + if (Result = '') and Assigned(Downloader) then begin + VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens'; VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/'; VResponseHeader := ''; VResponseData := ''; @@ -64,11 +61,18 @@ end; //****************************************************************************** var + VBuf : AnsiString; VNavToken: AnsiString; + VNavBearer: AnsiString; begin - VNavToken := GetNavToken; + VBuf := GetNavToken; + VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1); + VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1); if VNavToken <> '' then begin - ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken; + ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams; + RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 + + 'Origin: https://maps.garmin.com' + #13#10 + + 'Authorization: Bearer '+ VNavBearer; end else begin ResultURL := ''; end; diff --git a/Navionics/navionics.zmp/params.txt b/Navionics/navionics.zmp/params.txt index ca56ee28..688f96a4 100644 --- a/Navionics/navionics.zmp/params.txt +++ b/Navionics/navionics.zmp/params.txt @@ -4,7 +4,7 @@ name=Navionics Marine Charts ParentSubMenu_ru=Водные карты ParentSubMenu_uk=Водні карти ParentSubMenu=Water maps -DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y} +DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y} ServerNames=1,2,3,4,5 NameInCache=navionics Ext=.png @@ -13,4 +13,3 @@ projection=1 sradiusa=6378137 sradiusb=6378137 IsUseDownloaderInScript=1 -RequestHead=Referer: https://maps.garmin.com/