【问题标题】:How can I get a random streetview location?如何获得随机街景位置?
【发布时间】:2019-09-15 00:30:25
【问题描述】:

我正在尝试编写一个 JavaScript 网络应用程序,它允许我获取包含 Google 街景信息的随机位置。

我采取的第一步是创建一个随机的纬度和经度位置,但是由于地球大部分是海洋,所以我经常到那里。然后我尝试使用离那些随机选择的点最近的位置,但这让我最终在岸上,或者大部分时间在随机的水下位置。

我还尝试使用 API 来获取随机陆上位置列表,但其中也包括稍微离岸的位置,并且通常不会降落在街景区域(或附近)。它很接近,但没有给我最好的结果。

我们的目标是尽可能高效地执行此操作,同时保持相对较少的 API 调用量。

据我所知,谷歌并没有发布包含街景信息的所有位置的列表,这限制了我从列表中随机选择位置的可能性。

我正在努力实现GeoGuessr的效果。

【问题讨论】:

  • 几年前我玩了一个叫 Geoguessr 的游戏——它现在已经进化了(即被毁了),但它曾经把你放在街景中的一个随机点上,你必须尝试确定你的位置导航街景。重点是,这一定是可以做到的。

标签: javascript google-street-view


【解决方案1】:

街景服务

在他们的docsgoogle 中描述了如何获取街景位置。

另请参阅此answer 关于堆栈溢出的描述示例实现。

反向地理编码

如果这对你不起作用;我认为您对随机 LatLon 进行反向地理编码的方法不会那么糟糕。

在他们的docs google 描述了他们的反向地理编码器的请求参数。

也许您可以使用streetroute 作为result_type 至少缩小很多范围。

【讨论】:

  • 这样做的问题是,由于它更有可能降落在海洋中,因此不成比例地选择了靠近海岸和岛屿的位置。
  • 我最终选择了这个答案的变体。我使用反向地理编码来获取最近的街景位置到一个 api,该 api 提供了一个随机的陆地位置。然后我手动编码了一些没有街景的矩形区域,以避免像俄罗斯这样的大区域没有任何街景。
猜你喜欢
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
相关资源
最近更新 更多