首页 > 解决方案 > 反应原生 GeoFencing geolib 库

问题描述

您好,我正在使用 @mauron85/react-native-background-geolocation' 来获取我当前的坐标和https://www.npmjs.com/package/geolib库来检查我的位置是否在多边形内我的代码如下

var tf = geolib.isPointInPolygon({ latitude: {lat: location.latitude}, longitude: {lng: location.longitude} }, [
    { latitude: 27.483871, longitude:  95.204824},
    { latitude: 27.484353, longitude: 95.195472},
    { latitude: 27.492926, longitude: 95.4932795 },
    { latitude: 27.492956, longitude: 95.177179 },

  ]);

然而 tf 即使它在边界内也总是假但是当我硬编码我的位置(边界内的位置是真的)时,代码如下

var tf = geolib.isPointInPolygon({ latitude: 27.488464, longitude: 95.2020986 }, [
    { latitude: 27.483871, longitude:  95.204824},
    { latitude: 27.484353, longitude: 95.195472},
    { latitude: 27.492926, longitude: 95.4932795 },
    { latitude: 27.492956, longitude: 95.177179 },

  ]);

我尝试了其他库,但失败了,谁能帮我解决这个问题。

标签: react-nativenpmgeofencing

解决方案


显然这是由空指针引起的。用 if else 语句修复它。


推荐阅读