MapBox是否能够检测坐标是否在水体上?

时间:2017-03-10 01:12:19

标签: android mapbox

首先,MapBox允许下载离线区域。那么,下载太平洋的离线区域并没有多大意义。我从QA部门收到了一张机票,至少可以防止用户在需要的坐标位于水体上时下载任何东西(如果是河流,瀑布,污水则不重要)。我必须防止用户意外地下载主要由水体(主要是海洋或海洋)组成的离线区域。

我正在为客户创建一个应用程序,其用户群是海员,下载离线区域的成本可能很高。所以我的问题是MapBox能够在没有使用this hack的情况下检测到这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以直接查询地图图块,而无需进行API调用。这样做的一个示例是,如果要检查用户中心视图端口点。

LatLng center = mapboxMap.getCameraPosition().target;
final PointF pixel = mapboxMap.getProjection().toScreenLocation(center);
List<Feature> features = mapboxMap.queryRenderedFeatures(pixel, "water");

如果用户当前正在查看水,则会返回至少大小为1的要素列表,否则,其大小为0.

请注意,您也可以考虑整个视口区域或任何边界框区域。