как получить уровень масштабирования в React native map

Я пытаюсь рассчитать уровень масштабирования при увеличении или уменьшении масштаба пользователя,
я обнаружил, что на собственных картах реакции есть onRegionChange, у которого есть долгота, широта, дельта долготы и дельта широты, которые (я думаю) могут использоваться для вычисления масштабирования level
из этого ответа Я пробовал вот так:

 Math.round(Math.log(360 / this.state.longitudeDelta) / Math.LN2);

но он возвращает большое число (которое не является уровнем масштабирования).


person aName    schedule 31.08.2019    source источник


Ответы (2)


Напишите функцию, как показано ниже, в onRegionChangeComplete опоре response-native-map

changeRegion = debounce(async region => {
    console.log(
    Math.log2(360 * (metrics.screenWidth / 256 / region.longitudeDelta)) + 1
    );
  }, 1000);

или, если быть точным, Math.log2(360 * (metrics.screenWidth / 256 / region.longitudeDelta)) + 1); творит чудеса.

person FortuneCookie    schedule 23.03.2020

person    schedule
comment
Я трогал это, но не получаю обновленного уровня масштабирования при увеличении или уменьшении масштаба в render (). Как это получить? - person Shreya B; 19.04.2021