【问题标题】:How to get linked panoId for google Photo Sphere?如何为 google Photo Sphere 获取链接的 panoId?
【发布时间】:2017-04-18 09:20:10
【问题描述】:

我很难从给定的Photo Sphere panoid 中找到链接的 panoId

如果它是 google see insides 我正在使用此 API 获取链接的 panoId

http://cbk0.google.com/cbk?output=xml&panoid=PANO ID>

但在Photo Sphere 的情况下,此 API 不会返回 XML 数据。谁能帮我解决这个问题。

see insides Pano ID = "enEZO0FuPFAAAAQvxYdP0w"

Photo Sphere Pano ID = "F:-fr8FidB2CSQ/V49sgVq8pHI/AAAAAAABFw/bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB"

【问题讨论】:

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


    【解决方案1】:

    网址http://cbk0.google.com/cbk?output=xml&panoid=<PANO ID> 未记录功能,您应注意 Google Maps API 服务条款禁止使用未记录的渠道访问图像。请参阅 ToS 第 10.1(a) 段:

    只能通过服务访问 API 或内容。除非通过服务,否则您将无法访问 Maps API 或内容。例如,您不得通过 Maps API 以外的接口或渠道(包括未记录的 Google 接口)访问地图图块或图像。

    https://developers.google.com/maps/terms#section_10_1

    要通过服务访问全景数据,您应该使用 API。例如,在 Maps JavaScript API 中,您可以使用 StreetViewService 类。

    代码 sn-p

    var panorama;
          function initialize() {
              var svService = new google.maps.StreetViewService();
              var panoRequest = {
                  pano: "F:-fr8FidB2CSQ/V49sgVq8pHI/AAAAAAAABFw/bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB"
              };
            
              svService.getPanorama(panoRequest, function(panoData, status){
                  if (status === google.maps.StreetViewStatus.OK) {
                      panorama = new google.maps.StreetViewPanorama(
                          document.getElementById('street-view'),
                          {
                              pano: panoData.location.pano,
                              pov: {
                                  heading: 10,
                                  pitch: 10
                              }
                          });
                       console.log(panoData);
                  } else {
                      //Handle other statuses here
                  }
              });
          }
    html, body {
       height: 100%;
       margin: 0;
       padding: 0;
    }
    #street-view {
       height: 100%;
    }
    <div id="street-view"></div>
    <script async defer
             src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU&callback=initialize">
        </script>

    也存在 Street View Image Metadata 网络服务,但目前它不适用于 Photo Spheres。

    公共问题跟踪器中有一个错误:

    https://issuetracker.google.com/issues/35831151

    但是,Google 没有透露任何预计何时或是否可以修复的预计到达时间。您可以为公共问题加注星标以添加您的投票。

    更新

    最近,Google 允许通过 Street View Image API 访问 PhotoSpheres。虽然,pano ID 格式已经改变。

    F:-fr8FidB2CSQ/V49sgVq8pHI/AAAAAAAABFw/bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB 现在是 CAMSSi1mcjhGaWRCMkNTUS9WNDlzZ1ZxOHBISS9BQUFBQUFBQUJGdy9iTWt0UzJ2aDZtY1F0UUI2eTEtdkJYVFBUWkNDbnhUYlFDTElC

    请查看我的answer 了解更多详情。

    【讨论】:

    • 感谢您提供有关无法访问 API @xomena 的信息。它为我提供了我想要的所有必需数据。它适用于Photo SphereSee Insides 的情况
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 2017-11-08
    相关资源
    最近更新 更多