OpenLayers минимальный зум меньше, чем ограничивающая рамка - PullRequest
0 голосов
/ 03 августа 2011

У меня проблема с osm и openlayers. прежде всего, мой объект карты

var wgs84 = new OpenLayers.Projection("EPSG:4326");
var map = new OpenLayers.Map ('map',
    {
    projection: new OpenLayers.Projection("EPSG:900913"),
    displayProjection: wgs84,
    maxExtent: new OpenLayers.Bounds(-180,-20, 180, 90),
    controls: [
    new OpenLayers.Control.MousePosition(),
    new OpenLayers.Control.PanZoomBar(),
    ]
    }); 

Как видите, моя ограничительная рамка заканчивается на -20, поэтому должен отображаться Антарктида.

но я могу уменьшить масштаб, чтобы я мог видеть весь мир, и карта меньше, чем карта-div (что составляет 900 * 500).

Есть ли решение, чтобы это исправить? вы не сможете получить карту меньшего размера, чем позволяет ограничивающая рамка.

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Взгляните на пример, который я сделал на http://beta1234.com.sunflower.arvixe.com/maps/ (сервер работает немного медленно). Он использует restrictedExtent и ограниченные уровни масштабирования.

0 голосов
/ 03 августа 2011

Реализован ли вы параметром limitedExtent?

(из документации) limitedExtent

{OpenLayers.Bounds} Ограничить навигацию по карте, насколько это возможно.Если задано ненулевое предельное ограничение, панорамирование будет ограничено указанными границами.Кроме того, масштабирование до разрешения, отображающего больше, чем ограниченный экстент, приведет к центру карты в ограниченном экстенте.

См. Пример здесь - это останавливает панорамирование за пределами границ, но неограничьте уровни масштабирования.Похоже, что это часто упоминаемая отсутствующая функция, у которой не было много разрешений.

Я полагаю, что у этого поста есть некоторые обходные пути, хотя Минимальный максимальный уровень масштабирования в OpenLayers

Надеюсь, мне помогли.

...