我使用Mapbox Tileset API
并生成了一个上传到 Mapbox 服务器的自定义图块集(它是一个巨大的 400MB 的 GeoJSON 数据),并作为自定义填充层添加到我们工作室的样式中。
通过这种方式,我可以仅使用表达式以绿色(已访问)和红色(剩余)位置显示世界的自定义区域(作为多边形)。
我想知道一个点(GPS坐标)是否在tileset源/图层的多边形内以及哪个点,即使应用程序在后台(GPS跟踪在后台运行,我想通知用户当它们在多边形内时)。
使用queryRenderedFeatures
会很棒,但不幸的是,当应用程序在后台或用户的位置在当前视口之外时,它不起作用。
是否有任何解决方案可以获取 GPS 坐标处的特征列表,即使它位于视口之外?
另一个要求是,它应该在设备离线时工作,所以Tilequery API
不会有帮助。
下载我们风格的离线数据,缩放范围有限,即使设备离线,我也可以看到我的自定义源层(多边形)。
所以我认为应该有一种方法可以在设备离线时查询tileset-source。
目前,我生成了一个简化的 GeoJSON 文件,并在设备离线时将其与 turf@points-within-polygon 一起使用,但存在间隙,有时多边形相互覆盖(由于简化)等......如果我让降低文件的容差级别将太大而无法离线下载和存储,因此这并不是真正的解决方案,只是一种糟糕的解决方法。
当应用程序在后台并且设备处于离线状态时,即使在视口之外,我也可以对自定义 Tileset 源进行 PIP(多边形点)查询吗?