Увеличение / уменьшение масштаба для реагирующих карт на основе радиуса в км / милях
У меня есть требование в моем приложении для реагирования, в котором, если пользователь предоставляет число, которое будет количеством километров или миль (например, 5 или 10), карта должна увеличиваться / уменьшаться, показывая область с радиусом в качестве входных данных. количество.
Как я могу изменить значения latitudeDelta и longitudeDelta на основе этих входных чисел.
Пожалуйста, помогите мне. Заранее спасибо.
Ответы
latitudeDelta - это количество градусов, видимых на экране. Приблизительно 111,045 км всегда равно 1 градусу, поэтому вы можете рассчитать дельту широты видимой в данный момент области в км с помощью этого
latitudeDelta = диаметр (UserEntered) / 111,045
Предполагается, что экран находится в портретном режиме и, следовательно, latitudeDelta является большим значением. Если нет, используйте вместо этого longitudeDelta.
для обновления карты вы можете установить переменные состояния для longitudeDelta и latitudeDelta, и когда пользователь вводит значение, вы можете выполнить расчет по приведенной выше формуле и обновить эти переменные состояния, и карта в конечном итоге также обновится.