Как я могу рассчитать размеры текущего региона в response-native-maps? - PullRequest
0 голосов
/ 24 декабря 2018
latitude: 38.69444432847513
latitudeDelta: 0.1288559458782288
longitude: -90.5969550254043
longitudeDelta: 0.1638044205986091

Предположим, что мой регион карты содержит данные выше (я использую onRegionChange)

Как узнать расстояние (диаметр) текущего региона в километрах?(ширина будет меньше, чем высота, потому что телефон находится в портретном режиме)

Можно ли сделать простое преобразование?

1 Ответ

0 голосов
/ 26 декабря 2018

Определение широтыДельта :

Величина расстояния север-юг (измеряется в градусах)

Следовательно, вы можете просто умножитьlatitudeDelta на 111, чтобы получить приблизительную высоту (которая должна быть диаметром, если высота> ширина).

Если вам нужна ширина, формула немного сложнее, так какв зависимости от широты:

longitudeDelta * 40075 * cos(latitude) / 360

Если вам нужно очень точное значение диаметра, вы можете использовать формулу Хаверсайна или формулы Винсента , которую вы можетереализовать себя или использовать модуль npm.
Две точки для формулы будут (latitude - latitudeDelta / 2, longitude) и (latitude + latitudeDelta / 2, longitude).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...