React Native - есть ли надежный пакет геозон для ограждения? - PullRequest
1 голос
/ 09 января 2020

Я долго искал и не нашел надежного пакета геозон для react-native. Я нашел следующие: реакция-нативная-граница, реакция-нативный-простой-нативный-геозона (не полностью протестированная). Они не очень надежны и не имеют хорошей поддержки. Кроме того, в этих пакетах есть ошибки. Пожалуйста, сообщите, если есть пакет.

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Геозонирование не является тривиальным, может возникнуть много подводных камней, например, как управлять различиями между поставщиками мобильных телефонов и как добиться хорошей точности. Довольно сложно иметь согласованное поведение на устройствах и версиях операционных систем. Так что вам стоит обратить внимание на специальные продукты, такие как Herow или Radar. У них обоих есть плагины React Native, и у них есть бесплатные пробные версии.

0 голосов
/ 09 января 2020

Вы можете использовать реагирующую службу геолокации, доступную на npmjs. При этом вы можете использовать такие функции, как непрерывное отслеживание положения или получение текущего местоположения пользователя.

Нажмите здесь, чтобы проверить реагировать-родной-геолокации-сервис

Для создания гео- забор рассчитывает расстояние, используя функцию ниже, передавая LatLong пользователя и LatLong области геозоны. Возвращает радиус.

См. руководство по приведенной ниже функции из источника геоданных

function distance(lat1, lon1, lat2, lon2, unit) {
if ((lat1 == lat2) && (lon1 == lon2)) {
    return 0;
}
else {
    var radlat1 = Math.PI * lat1/180;
    var radlat2 = Math.PI * lat2/180;
    var theta = lon1-lon2;
    var radtheta = Math.PI * theta/180;
    var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
    if (dist > 1) {
        dist = 1;
    }
    dist = Math.acos(dist);
    dist = dist * 180/Math.PI;
    dist = dist * 60 * 1.1515;
    if (unit=="K") { dist = dist * 1.609344 }
    if (unit=="N") { dist = dist * 0.8684 }
    return dist;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...