Страница 3 из 6

Re: Скрипты для On-Line сервисов

Добавлено: 29 мар 2013, 13:14
DarkDiver
Fencer_Silver писал(а):
Вот этот сервис можно через скрипты прикрутить: http://www.topomapper.com/
Если да, то как?
Можно. Надо в скрипт допилить процедуры. По мере добавления, будут и WMS.
P.S. Я так думаю, пора документацию на скрипт оформлять?
Да, документация нужна. Ну и рабочий пример скрипта для какой-нибудь из существующих WMS карт хотелось бы...

Re: Скрипты для On-Line сервисов

Добавлено: 31 мар 2013, 12:13
Fencer_Silver
Документация и пример создания скриптов для On-Line сервисов

Re: Скрипты для On-Line сервисов

Добавлено: 31 мар 2013, 17:51
DarkDiver
Fencer_Silver писал(а):Документация и пример создания скриптов для On-Line сервисов
Спасибо, будем разбираться.

Добавлено спустя 1 минуту 17 секунд:
Добавил скрипт еще для одного сервиса: map.vl.ru.

Re: Скрипты для On-Line сервисов

Добавлено: 31 мар 2013, 19:24
Fencer_Silver
Yahoo спутник и карта

Re: Скрипты для On-Line сервисов

Добавлено: 31 мар 2013, 20:32
Fencer_Silver
Кадастровые границы Украины (кадастр карта)

Re: Скрипты для On-Line сервисов

Добавлено: 01 апр 2013, 01:52
DarkDiver
А вот этот сервис прикрутить возможно?
http://www.navionics.com/en/webapp
Здесь похоже координаты тайлов зашифрованы...

Re: Скрипты для On-Line сервисов

Добавлено: 01 апр 2013, 08:28
dr.b
Обновление гуглоспутника до 126 версии . Зоны обновлений:
http://mw1.gstatic.com/mw-earth-vectord ... Update.kmz

Re: Скрипты для On-Line сервисов

Добавлено: 01 апр 2013, 08:47
User_tester
Изменения в 126-ой версии гугла от 21 марта 2013 г. можно посмотреть онлайн. ;)

Re: Скрипты для On-Line сервисов

Добавлено: 01 апр 2013, 13:02
Fencer_Silver
DarkDiver писал(а):А вот этот сервис прикрутить возможно?
http://www.navionics.com/en/webapp
Здесь похоже координаты тайлов зашифрованы...
Проверил все... Сейчас, наверное, умер. Еще в феврале для него работал адрес
http://ec2-54-234-79-86.compute-1.amazo ... =256&BBOX=
Сейчас он не отвечает (по крайней мере сегодня)...

А вот запрос из самого сервиса
http://webviewer-api.navionics.com/getm ... 1234567890

Он шифруется.

Re: Скрипты для On-Line сервисов

Добавлено: 02 апр 2013, 15:41
DarkDiver
Добавил топокарты с веб-сервиса marshruty.ru

Добавлено спустя 7 минут 46 секунд:
Fencer_Silver писал(а): Проверил все... Сейчас, наверное, умер. Еще в феврале для него работал адрес
http://ec2-54-234-79-86.compute-1.amazo ... =256&BBOX=
Сейчас он не отвечает (по крайней мере сегодня)...
А вот запрос из самого сервиса
http://webviewer-api.navionics.com/getm ... 1234567890
Он шифруется.
Ну, значит не судьба.

Re: Скрипты для On-Line сервисов

Добавлено: 12 апр 2013, 05:11
DarkDiver
Добавил три веб-карты:
- карты mail.ru
- карты rambler.ru
- карты Геоцентр-Консалтинг

Re: Скрипты для On-Line сервисов

Добавлено: 17 апр 2013, 01:54
DarkDiver
В GPSMаpЕdit используется скрипт для снимков гугл более сложной структуры чем в MGE:

Код: Выделить всё

.web_map          1

.name             @r8800
.image            GoogleMaps.ico
.class            google-maps-sat
.cache_subfolder  "sat"
.cache2_subfolder ""
.hotkey           Shift+G

.def_version      126
.tile_referer     https://maps.google.com/
.tile_size        256
.tile_ext         .jpg
.tile_header      "Accept: */*"
;.tile_header      "Accept-Language: en"
.tile_header      "Accept-Encoding: gzip, deflate"

; Max bitrate, in kbits/s. 0 means no limit.
.limit_rate       500

; Period of authorization, in munutes.
.auth_period      30

.include_script   StdLib.js
.include_script   ProjGoogle.js
.script           JScript
////////////////////////////////////////////

function OnStart () {
        WebMap.Browse ("root", "https://maps.google.com/", true);
}

var m_cMirrorServers = 2;
var m_strCookieKH = "";

function OnPageComplete (_strBrowser, _strURL, _pHTMLDocument2, _RawData) {
        if (_strBrowser == "root" && _strURL == "https://maps.google.com/") {
                var strScripts = _ExtractScripts (_pHTMLDocument2);
                strScripts = strScripts.replace (/\s/, "");
                strScripts = strScripts.replace (/'/,  "\"");

                var matchRequestPattern = strScripts.match (/"https:\/\/khms0.google.com\/kh/);
                if (matchRequestPattern != null) {
                        //
                        // Determine version.
                        //
                        var strPostRequestPattern = strScripts.substr (matchRequestPattern.lastIndex, 256);
                        strPostRequestPattern = unescape (strPostRequestPattern);
                        strPostRequestPattern = WebMap.UndecorateCStringLiteral (strPostRequestPattern);
                        var matchVer = strPostRequestPattern.match (/v=[^&"]*/);
                        if (matchVer != null) {
                                var strVer = strPostRequestPattern.substr (matchVer.index + 2, matchVer.lastIndex - matchVer.index - 2);
                                WebMap.SetVersion (strVer);
                        } else {
                                WebMap.Log ("Failed to determine version!");
                        }

                        //
                        // Determine the number of mirror servers.
                        //
                        if      (strScripts.search (/"https:\/\/khms3.google.com\/kh/) != -1) m_cMirrorServers = 4;
                        else if (strScripts.search (/"https:\/\/khms2.google.com\/kh/) != -1) m_cMirrorServers = 3;
                        else if (strScripts.search (/"https:\/\/khms1.google.com\/kh/) != -1) m_cMirrorServers = 2;
                        else if (strScripts.search (/"https:\/\/khms0.google.com\/kh/) != -1) m_cMirrorServers = 1;
                        else
                                WebMap.Log ("Failed to determine number of mirror servers!");

                        WebMap.Log ("Mirror servers = " + m_cMirrorServers);
                }

                //
                // Determine cookies (not used now).
                //
                var matchCookieKH = strScripts.match (/"fzwq[^"]*/);
                if (matchCookieKH != null) {
                        m_strCookieKH = strScripts.substr (matchCookieKH.index + 1, matchCookieKH.lastIndex - matchCookieKH.index - 1);
                        WebMap.Log ("CookieKH = " + m_strCookieKH);
                }

                var strCookiePID = WebMap.GetCookie ("http://maps.google.com/", "");
                WebMap.Log ("CookiePID = " + strCookiePID);

                WebMap.SetReady ();
        }
}

function GetMaxLevel () {return 21;}
function GetMinLevel () {return 0;}

function MakeTileURL (_x, _y, _level, _version) {
        var cMirror = ((_x + _y*2) % m_cMirrorServers);
        var strSecureWord = "Galileo";
        var strSpecial = (_y >= 10000 && _y < 100000) ? "&s=" : "";
        return "https://khms" + cMirror + ".google.com/kh/v=" + _version + "&src=app&x=" + _x + strSpecial + "&y=" + _y + "&z=" + _level + "&s=" + strSecureWord.substr (0, (3*_x + _y) & 0x7);
}
Bо многих местах этот скрипт грузит более детальные снимки чем тот, который используется в MGE.
К сожалению моих знаний не хватает, чтобы адаптировать этот скрипт для MGE. Поэтому прошу помочь.

Re: Скрипты для On-Line сервисов

Добавлено: 17 апр 2013, 08:12
Fencer_Silver
DarkDiver писал(а):В GPSMаpЕdit используется скрипт для снимков гугл более сложной структуры чем в MGE:

Bо многих местах этот скрипт грузит более детальные снимки чем тот, который используется в MGE.
К сожалению моих знаний не хватает, чтобы адаптировать этот скрипт для MGE. Поэтому прошу помочь.
Ответ:
dr.b писал(а):Обновление гуглоспутника до 126 версии . Зоны обновлений:
http://mw1.gstatic.com/mw-earth-vectord ... Update.kmz
В этом скрипте используется версия - 126.
В нашем, DAT файле используется 123

http://khm1.google.com.ua/kh/v=123

Замените на http://khm1.google.com.ua/kh/v=126

Следим!

Не забываем после замены - удалить или заархивировать старый кеш.

Re: Скрипты для On-Line сервисов

Добавлено: 17 апр 2013, 08:54
DarkDiver
Версию я разумеется поменял, кэш почистил.
Специально сделал для ГМЕ дополнительный скрипт как в МГЕ (с базовым url "http://khm1.google.com.ua/kh/v=126").

Код: Выделить всё

.web_map         1

.name            "Google Sat 126"
.image           GoogleSat2.ico
.class           GoogleSat2
.cache_subfolder GoogleSat2
.hotkey          Shift+S

.def_version     ""
.tile_referer    https://maps.google.com/
.tile_size       256
.tile_ext        .jpg

.include_script  ProjGoogle.js
.script          JScript
////////////////////////////////////////////

function OnStart () {WebMap.SetReady ();}
function OnPageComplete (_strBrowser, _strURL, _pHTMLDocument2, _RawData) {}

function GetMaxLevel () {return 18;}
function GetMinLevel () {return 0;}

function MakeTileURL (_x, _y, _level, _version) {
        var rn;
        var substr;
        var zoom;
        var strSecureWord = "Galileo";
        rn=Math.floor(Math.random() * 4);
        substr=strSecureWord.substr (0, (3*_x + _y) & 0x7)
        zoom=_level;
        return "http://khm1.google.com.ua/kh/v=126"+"&x="+_x+"&y="+_y+"&z="+zoom+"&s="+substr
}
И этот скрипт грузит разные снимки по сравнению со встроенным скриптом из ГМЕ. Судя по всему в ГМЕ скрипт анализирует несколько кешей гугл, в том числе кеш с зимними снимками и когда нет детальных летних снимков, то подгружаются более детальные зимние - как то так...

Если надо, могу скриншоты сделать для примера.

Re: Скрипты для On-Line сервисов

Добавлено: 17 апр 2013, 09:04
Fencer_Silver
Для того, что бы написать именно такой скрипт, надо добавить (зарегистрировать) новые функции в наш Pascal Script.