Настройка maxExtent и restrictExtent координат в OpenLayers - PullRequest
4 голосов
/ 01 ноября 2011

Я очень новичок в OpenLayers и работаю с GeoData;поэтому я думаю, что у меня возник вопрос о настройке границ карты с помощью OpenLayers.Во-первых, вот код карты, который я составил ...

function createMap(containerId){         
            return new OpenLayers.Map(containerId, {
                projection: new OpenLayers.Projection("EPSG:900913"),
                displayProjection: new OpenLayers.Projection("EPSG:4326"),
                units: "m",
                maxResolution:156543.0339,
                numZoomLevels:4,
                controls: [],
                maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
                restrictExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34)
            });
}

У меня есть карта, и поверх нее я загрузил слой GeoJSON векторных фигур страны.Все идет нормально.Однако, если я назову zoomToMaxExtent на карте, карта уменьшится до небольшого размера в виде миниатюры в центре моего окна просмотра, а не заполняет рамку.Затем, если я увеличу масштаб карты, я могу (по-видимому) панорамировать карту на неопределенное время в любом направлении, а не быть ограниченным по краям фигур карты.

Поэтому я предполагаю, что что-то не так с моимmaxExtent и restrictExtent, хотя я понятия не имею, что это такое.Если честно, я не уверен, что это за огромные ограничивающие числа (их можно найти в примере кода).По сути, по координатам Lon / Lat, я думаю, что я просто пытаюсь ограничить ограничение до -180, -90, 180, 90 - что должно обеспечить жесткую рамку вокруг географии карты, верно?К сожалению, установка этих Lon / Lat на ограничивающие параметры, кажется, ничего не делает.Любая идея будет принята с благодарностью!

...