У OpenLayers збільшуйте масштаб усіх розмірів


10

У Openlayers я можу збільшити масштаб до обмежувального поля всіх шарів на зразок цього:

map.zoomToExtent();

Я також можу збільшити масштаб до обмежувального поля одного шару:

map.zoomToExtent(layer_name.getDataExtent());

Чи є простий спосіб масштабування в масштабі всіх шарів, крім базового шару? Іншими словами, що показує масштаб усіх накладок.

Відповіді:


6
  1. для циклу для всіх ваших шарів
    1. Пропустіть базовий шар [відповідно до вашої потреби]
    2. Використовуйте bounds.extend (...) для створення всеохоплюючого API об'єкта меж
  2. Масштабування отриманих API меж

Я думаю, що це не спрацює, тому що extends () працює лише тоді, коли він викликається меншими межами, ніж той, який передається як аргумент.
пакман

Як я можу досягти того ж, використовуючи OpenLayer API 3.x
imdadhusen

@imdadhusen, чому б ти просто не шукав документацію? той же метод. той самий об’єкт. різний простір імен. openlayers.org/uk/v3.3.0/apidoc/ol.extent.html#extend
Вадим

1

як щодо виправлення map.restrictedExtent та виклику map.zoomToExtent (map.restrictedExtent) ?


Це просто перемістить проблему ... Як я можу дізнатись обмежувальну рамку накладок, щоб створити обмежений Екстенс?
Mr_Chimp

ви спробували з ZoomToMaxExtent () - але це, ймовірно, збільшить масштаб базового шару, якщо більший? якщо це не працює, ви повинні отримати міру для кожного шару накладки і зберегти найбільшу, щоб виправити обмежений обмеження.
simo

Я спробував ZoomToMaxExtend (), і він збільшує базовий шар. Я згадував про це у своєму запитанні, але при перечитуванні це не очевидно. Зберігання найбільшого обмежувального поля не обов'язково працює, тобто якщо два шари не перекриваються. Я думаю, мені доведеться якось поєднати обмежувальні поля кожного шару, а потім дістати обмежувальний ящик результуючого об’єкта ...
Mr_Chimp

Це воно! Що не так складно ... Але я згоден з вами, дивно, що такий метод ще не існує (або ми щось пропустили ;-) ..)
simo

Добре сподіваємось, ми щось пропустили! Залишаю питання відкритим поки що ... про всяк випадок!
Mr_Cimimp
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.