Как убрать Zoom Level

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Аватара пользователя
Ukushuka
Новоприбывший
Сообщения: 2
Зарегистрирован: 01 июл 2012, 14:03
Репутация: 0

Как убрать Zoom Level

Сообщение Ukushuka » 02 июл 2012, 21:01

Подскажите как убрать мелкое масштабирование (первые три уровня)...http://dayz.su/map/openlayers.html
Если отдалить на максимум - слишком мелко для того чтобы что-то разобрать! А значит пользы от такого зума мало.

Сразу скажу:
Правка параметра с numZoomLevels: 8 на numZoomLevels: 5 убрала три нижних (а не три верхних как я бы хотел) уровня.
А правка параметров:
var mapMinZoom = 0;
var mapMaxZoom = 7;
Вообще никак не повлияла на работу карты.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Как убрать Zoom Level

Сообщение Denis Rykov » 03 июл 2012, 13:38

В вашем примере zoom level на сервере должен быть на 3 единицы больше zoom level-а клиента. А так как вы формируете URL вручную, это нужно учитывать:

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


<html>
<html>
<head>
<title>XYZ example</title>
<script src="http://openlayers.org/dev/OpenLayers.js"></script>
<style type="text/css">
body { background: #fff url(http://dayz.su/map/images/bitey.jpg) repeat; }
</style>
<script type="text/javascript">
function overlay_getTileURL(bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
var y = Math.round((bounds.bottom - this.maxExtent.bottom) / (res * this.tileSize.h));
var z = this.map.getZoom() + this.zoomOffset;

if (x >= 0 && y >= 0) {
return this.url + "/" + z + "/" + x + "/" + y + "." + this.type;

} else {
return "http://www.maptiler.org/img/none.png";
}
}

function init(){
map = new OpenLayers.Map({
div: "map"
});

tms = new OpenLayers.Layer.XYZ( "XYZ Layer", "http://dayz.su/map",
{
type: 'png',
getURL: overlay_getTileURL,
maxExtent: [0.0, -13669.0, 16660.0, 0.0],
resolutions: [16, 8, 4, 2, 1],
zoomOffset: 3
}
);
map.addLayer(tms);
map.addControl(new OpenLayers.Control.PanZoomBar());
map.controls[1].destroy();
map.zoomToMaxExtent();

}
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

#Живой пример
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Ukushuka
Новоприбывший
Сообщения: 2
Зарегистрирован: 01 июл 2012, 14:03
Репутация: 0

Re: Как убрать Zoom Level

Сообщение Ukushuka » 03 июл 2012, 15:10

Огромное спасибо!!!

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя