如何获取 google Photo Sphere 的链接 panoId?

How to get linked panoId for google Photo Sphere?

我很难从给定的 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 全景 ID = "enEZO0FuPFAAAAQvxYdP0w"

Photo Sphere 全景 ID = "F:-fr8FidB2CSQ/V49sgVq8pHI/AAAAAAAABFw/bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB"

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

No access to APIs or Content except through the Service. You will not access the Maps API(s) or the Content except through the Service. For example, you must not access map tiles or imagery through interfaces or channels (including undocumented Google interfaces) other than the Maps API(s).

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

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

代码片段

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。

public 问题跟踪器中存在错误:

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

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

更新

最近,Google 启用了通过街景图像访问 PhotoSpheres API。虽然,全景 ID 格式已更改。

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

详情请看我的answer