Код: Выделить всё
Y := round(intpower(2,GetZ-1)) - 1 - GetYКто-нибудь подскажет функцию, как преобразовать целое число в 3-значную строку? Неохота использовать if.
А я пока поработаю немного
Модератор: Tolik
Код: Выделить всё
Y := round(intpower(2,GetZ-1)) - 1 - GetYКонечно. Я уже проверил, на этой карте координаты меньше 999 (маленький город).garl писал(а):а ещё нужно учесть чтобудет верно лишь для значений до 999, а выше придётся мудрить.Код: Выделить всё
'/000/000/'+IntToStr(GetY)
Код: Выделить всё
var
Y: integer;
SX, SY: string;
begin
Y := round(intpower(2,GetZ-1)) - 1 - GetY;
case Y of
0..9: SY := '00'+IntToStr(Y);
10..99: SY := '0'+IntToStr(Y);
100..999: SY := IntToStr(Y);
end;
case GetX of
0..9: SX := '00'+IntToStr(GetX);
10..99: SX := '0'+IntToStr(GetX);
100..999: SX := IntToStr(GetX);
end;
if ((GetZ <= 10) and (GetZ >= 4)) then
ResultURL:=GetURLBase+'0'+IntToStr(GetZ-4)+'/000/000/'+SX+'/000/000/'+SY+'.jpeg';
end.Код: Выделить всё
<a href="http://malmo.se/karta">http://malmo.se/karta</a>
<br>
Спутниковый снимок города Мальмо.
<br>
Работает на зумах от 4 до 10, карта находится в левом нижнем углу.
Код: Выделить всё
http://xyz.malmo.se/ArcGIS/services/malmo_poi_fritid/MapServer/WMSServer?LAYERS=3&FORMAT=image%2Fpng&TRANSPARENT=true&SRS=EPSG%3A3008&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&BBOX=121109.031744,6161713.354496,122463.701056,6163068.023808&WIDTH=256&HEIGHT=256Код: Выделить всё
begin
ResultURL:=GetURLBase+RoundEx(GetLMetr,8)+','+RoundEx(GetBMetr,8)+','+RoundEx(GetRMetr,8)+','+RoundEx(GetTMetr,8);
end.Да, это типичная проблема карт без привязки.jaroshsv писал(а):почему-то при переходе с 5 на 6 зум идет смещение.
Ок.zed писал(а):Tolik, а продублируйте свой мануал в wiki?
На своё усмотрениеTolik писал(а):Ок.zed писал(а):Tolik, а продублируйте свой мануал в wiki?
Прям как есть?
Куда добавить страницу и как?