【问题标题】:Google Maps Street View "No Imagery" with status OK谷歌地图街景“无图像”状态正常
【发布时间】:2016-07-22 17:49:23
【问题描述】:

我一直在使用 Google Street View Image API,当 api 响应“我们没有图像”时遇到问题。我实施了一些从以前的帖子中找到的解决方案,主要来自detecting "we have no imagery" of google maps street view static images。这是我的代码:

var address = thisItem.addr + "," + thisItem.city + "," + thisItem.state + " " + thisItem.zip;

    var url = "https://maps.googleapis.com/maps/api/streetview?size=500x500&location=" + address + "&heading=&pitch=&key=";

    var itemLat = parseFloat(thisItem.lat);
    var itemLng = parseFloat(thisItem.lng);

    var sv = new google.maps.StreetViewService();


    sv.getPanorama({location: {lat: itemLat, lng: itemLng}, radius: 1}, processSVData);

    function processSVData(data, status) {
      if (status === google.maps.StreetViewStatus.OK) {
        console.log('status ok');
      } else {
        console.log('status not ok')
      }
    }

如果有街景,我会将 url 插入到 img src 中。

因为我在 url 调用中使用的是地址而不是 lat lng,而在 getPanorama 中使用的是 lat lng,当图像返回“未找到图像”时,StreetViewStatus 仍然可以,因此我无法设置库存图片.我还更改为在 url 中使用 lat lng,然后即使状态不正常,也会始终显示图像。有什么建议吗?

【问题讨论】:

标签: google-maps-api-3 google-street-view


【解决方案1】:

如Directly Accessing Street View Data中所述

您可以向StreetViewService发起两种类型的请求:

  • 带有StreetViewPanoRequest 的请求,这将返回全景数据给定一个唯一标识全景的参考ID。请注意,这些参考 ID 仅在该全景图像的整个生命周期内保持稳定。
  • 带有StreetViewLocationRequest 的请求在给定的LatLng 传递的情况下搜索给定区域的全景数据。

因此,对于您使用的地址,我建议您考虑使用Geocoding Service 进行转换。

除此之外,这些参考资料也可能对您有所帮助

【讨论】:

  • 感谢@Teyam 我已经浏览了其中的一些资源,但没有进入地理编码或帮助论坛,我一定会查看它们
猜你喜欢
  • 1970-01-01
  • 2015-10-09
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多