Android Google Maps API v2 检测陆地或水域

3
我正在使用Android Google Maps API v2。是否有可能检查点(LatLng)在水中还是陆地上?

Maps V2没有办法告诉你一个点是在陆地上还是水中。是否有其他谷歌API可以做到这一点,我无法确定。 - CommonsWare
2个回答

2
不,据我所知,这方面没有直接的API。 另一个SO答案 指出了两种可能的解决方法:
  • 您可以使用Google Maps反向地理编码。在结果集中,您可以通过检查类型来确定它是否为水域。在水域情况下,类型为natural_feature。请参见此链接http://code.google.com/apis/maps/documentation/geocoding/#Types
  • 您可以使用Google Static Maps通过像素检测水域/陆地。但是,为此需要创建HTTP服务。

0
多年来,自从最初的问题被提出以来,一个名为IsItWater.com的直接API服务已经启动,它将让您根据OpenStreetMap数据检查纬度/经度是否在水上或陆地上。

请求

curl 'https://isitwater-com.p.rapidapi.com/?latitude=41.9029192&longitude=-70.2652276&rapidapi-key=YOUR-X-RAPIDAPI-KEY'

响应

{
    "water": true,
    "latitude": 41.9029192,
    "longitude": -70.2652276
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接