【问题标题】:Generate random Google Maps street view coordinates in JavaScript在 JavaScript 中生成随机的 Google Maps 街景坐标
【发布时间】:2017-11-12 13:09:51
【问题描述】:

我正在使用适用于 JavaScript 的 Google Maps API。 如何生成有效的随机街景坐标? 是否有任何 API 默认方法,或者我必须编写自己的方法,我该怎么做?

【问题讨论】:

  • 我可能错了,但我认为您可以通过使用经纬度坐标来获得街景。此人讲解如何随机生成经纬坐标->stackoverflow.com/a/6878845/8085668
  • 这听起来很简单?为经度和纬度创建 2 组有效值,并从每组中随机抽样以用于您的目的地。

标签: javascript jquery google-maps google-maps-api-3 maps


【解决方案1】:

街景仅在某些位置可用,因此并非每个纬度/经度对都是街景全景的有效位置。没问题 - StreetviewService 来救援!

生成随机纬度/经度,然后使用 StreetviewService 检查该位置是否存在有效全景图。如果没有,请尝试其他位置。

值得注意的是,地球表面的很多地方都没有街景数据,因此您可能希望在较小的区域内选择随机数 - 例如美国的边界,而不是冒险一次又一次地登陆海洋。

function TryRandomLocation(callback) {
  var lat = (Math.random() * 90) - 90;
  var lng = (Math.random() * 180) - 180;
  var sv = new google.maps.StreetViewService();

  // Try to find a panorama within 50 metres 
  sv.getPanorama({
      location: new google.maps.LatLng(lat, lng),
      radius: 50
  }, callback);
}

function HandleCallback(data, status) {
    if (status == 'OK') {
      // Call your code to display the panorama here.
    } else {
      // Nothing here! Let's try another location.
      TryRandomLocation(HandleCallback);
    }
}

window.onload = function() {
  TryRandomPanorama(HandleCallback);
}

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多