Проверка доступности доставки товара на основе геолокации пользователя?
Подскажите пожалуйста, как указать возможные места доставки(координаты) за которыми доставка товара недоступна, на основе геолокации пользователя. И за одно проверить находится он сейчас в доступной для доставки области.
Ответы (1 шт):
Автор решения: blind.falcon
→ Ссылка
Если вы знаете координаты пользователя и координаты магазина, откуда планируется доставка, а так же вам достаточно простого радиуса (без учёта длины реального маршрута) то можно воспользоваться методом класса Location - public float distanceTo(Location dest).
fun calculateDistance(
userLat: Double,
userLng: Double,
shopLat: Double,
shopLng: Double
): Double {
val userLocation = Location("user").apply {
latitude = userLat
longitude = userLng
}
val shopLocation = Location("shop").apply {
latitude = shopLat
longitude = shopLng
}
return userLocation.distanceTo(shopLocation).toDouble()
}
Далее остаётся только сравнить полученный результат с максимальным радиусом доставки и оповестить пользователя.