Отказ от ответственности: Потому что вы не предоставили никакого кода я собираюсь придерживаться стратегии здесь :)
Способ 1: DIY
Первый вам нужно будет решить, каково ваше разрешение или размер ячейки в вашем случае и что происходит с отдельной ячейкой при масштабировании.
Корпус 1: Размер вашей ячейки увеличивается, и вы просто увеличиваете размер ячейки по коэффициенту масштабирования и снимаете область, которая выходит за пределы того, что выбрано пользователем.
Случай 2: Вы хотите, чтобы ваши HeatMap клетки быть пиксель размером в этом случае при увеличении масштаба, теперь каждый из предыдущего пикселя (или ячейки) должен интерполированные и вы увеличите разрешение по фактору масштабирования. Конечно, вам придется повторно запустить функцию тепловой карты для этого региона с большим разрешением.
Как только вы определили одну из двух стратегий, реализация на JavaScript на самом деле довольно проста.
Вы подключаетесь к мероприятию drag-event. и позволить пользователям нарисовать прямоугольник, чтобы показать им область ссылки, в которую они масштабируются.
Затем вы вычисляете коэффициент масштабирования в зависимости от соотношения вытянутого прямоугольника, исходного изображения или контейнера. Это становится ваш зум-фактор
Теперь, используя коэффициент масштабирования вы генерировать новый образ, основанный на case1 или Вариант 2 в зависимости от которой вы идете с
Наконец заменить существующее изображение старого.
Viola! Увеличить !!
Способ 2: Использовать библиотеку!
Используйте потрясающую библиотеку, например OpenLayers 3, и просто загрузите в нее свою тепловую карту. Вот Heatmap Example, сделанный в OpenLayers 3. Zoom pan теперь приходят БЕСПЛАТНО!
Надеюсь, это поможет.
Благодарим вас за проницательный ответ. Я попробую это. –
Добро пожаловать! Пожалуйста, спросите, нужно ли вам больше разъяснений по любому из вышеперечисленных вопросов или если у вас есть какой-либо конкретный вопрос реализации. удачи – Shaunak