Во-первых, если вы попытаетесь скопировать URL какого-либо тайла, подсмотренный в консоли, то получите ошибку 403 Forbidden, например. Причина в том, что сервис парсит заголовок Referer и если его значение отлично от http://retromap.ru/m.php, то он отвечает 403 ошибкой. С этим вроде разобрался, поправив немного код QMS и подключив слой по схеме QuadKey, однако, вылезла проблема номер два.
Добавив карту в QGIS было обнаружено, что часть тайлов почему-то не загружаются. Открыв браузер и изучив запросы, которые шлет retromap.ru на сервер, было установлено, что тайлы в пределах одной и той же карты имеют совершенно разную адресацию, например:
Код: Выделить всё
http://www.hutun.ru/f19f53e/14194717/121311132.jpg
http://www.hutun.ru/f19f53e/14194717/FE3b37_1497006541.jpg
Чтобы показать как оно работает - набросал небольшой пример подключения карты в Leaflet: пример. URL сервера, используемый в примере - это прокси, пересылающий запросы на http://www.map.host.ru и добавляющий нужный заголовок Referer (дроплет от DigitalOcean).
Как я уже писал - автор явно даёт понять, что он не хочет, чтобы его тайлы использовались в сторонних приложениях, чтобы запутать пользователя он даже JS-функции пишет кодами символов, пример взят отсюда:
Код: Выделить всё
document.write('<script language="JavaScript">' + stringer('}(rr+tvs+bfu+s)."qE=Fw"),6"1F>Fh"t(genceall.pqe(rf.ip; "n"r=uvt=efr,}q;=)wh trganve;lq. rn-r6u1t,e0r()r"tFs"b=u!s).0"(0t0A0r0a0h0c".=pv(;f)i6;1q-+hpt gnnreult.eqr,)02(=r!tgsnbiudso.cqn=ef.{])m6[1t>shitlg_npealm.(qf(if;iq; )n)r1u+t)e)r1)-0h=t=ggnneild.owc(nteA.r]amh[ct.swi(lr_epbammu(Nf(i*;m)*q0,1m+()xwi(freerbpm_umN=(pg nriarvt{S)=qr, mr(atvt;a)e6w1k,c6u1b- hntogintecln.uqf') + '</scr'+'ipt>');