当前位置: 首页 > 面试题库 >

如何使用Google街景发布API将一个全景图与多个全景图相连?

马渊
2023-03-14
问题内容

我正在使用photo.update请求在python中进行全景(360全景图像)连接。我只能将一个Pano连接到另一个Pano,但是我想将一个Pano连接到多个Pano。我没有获得成功的结果。

我已经使用Python发送了以下photoUpdate请求:

update_photo_url = 'https://streetviewpublish.googleapis.com/v1/photo/{}?key={}&updateMask=connections'.format("pano_1","AIzdesdfyxscvvvvvvvvvvvvvvv")

headers = {"Authorization": "Bearer {}".format("ya29.Glx6BO91jWbjzLQKYPvP16fhT-jyOEnIdnoRcZcU9uYCqzwH3Dkuf-qf_kzUc2ykYOyVTZCfaGjOEAScsJK7WgS4NE9gfS6bSobWDIMdfpfY7SPzRMmxi4kfTrmsRQ"), "Content-Length": "0", "Content-Type": "application/json"}

update_body = {
[
{
"photo": {
  "photoId": {
    "id": "pano_1"
  },
  "connections": {
    "target": {
      "id": "pano_2"
    },
    "target": {
      "id": "pano_3"
    }
  },
}
}
]
}
update_response = requests.put(update_photo_url,headers=headers,json=update_body)
update_response.text

错误:

{
    "error": {
        "code": 400,
        "message": "Invalid JSON payload received. Unknown name \"\": Root element must be a message.",
        "status": "INVALID_ARGUMENT",
        "details": [
            {
                "@type": "type.googleapis.com/google.rpc.BadRequest",
                "fieldViolations": [
                    {
                        "description": "Invalid JSON payload received. Unknown name \"\": Root element must be a message."
                    }
                ]
            }
        ]
    }
}

谁知道,如何从源Pano连接多个360 Panos?如果有人能弄清楚它的可能性,那将非常好。


问题答案:

我已经看到您的请求网址是:

https://streetviewpublish.googleapis.com/v1/photo/{}?key={}&updateMask=connections'.format("pano_1","AIzdesdfyxscvvvvvvvvvvvvvvv")

为了连接多张照片,您需要使用batchUpdate方法。

HTTP请求

POST https://streetviewpublish.googleapis.com/v1/photos:batchUpdate?

这是使用curl的示例请求:

curl --request POST \
    --url 'https://streetviewpublish.googleapis.com/v1/photos:batchUpdate' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
     --header 'Content-Type: application/json' \
     --data '{
              "updatePhotoRequests": [
            {
            "updateMask": "connections",
               "photo": {
                "photoId": {
                   "id": "pano_1"
                },
                "connections": [
                   {
                       "target": {
                        "id": "pano_2"
                         }
                           },
                           {
                       "target": {
                        "id": "pano_3"
                             }
                           }
                        ]
                        }
                   }
                ]
              }'

更新: 如果我有四个Panos,并且想要连接pano_1- > pano_2,pano_3和pano_3->
pano_4,那么json格式是什么?

您应该将pano_4作为要连接到pano_3的目标。

{
  "updatePhotoRequests": [
    {
      "updateMask": "connections",
      "photo": {
        "photoId": {
          "id": "pano_3"
        },
        "connections": [
          {
            "target": {
              "id": "pano_4"
            }
          },
        ]
      }
    }
  ]
}

请注意,id应该是photoId上传的照片。



 类似资料:
  • 问题内容: 假设我要在CSS中渲染箭头,箭头应具有头部,尾部和灵活的宽度,以便可以包含文本。我当然可以创建多个div来获得所需的内容,但是如何在CSS3中完成呢? 我可以使用多个背景图片: 的HTML: 这给了我一个带有箭头和尾巴的透明中间部分。似乎不可能在中间部分指定颜色。 仅使用一张背景图像,您可以执行以下操作: 我知道这在很多方面都是可行的,但是背景颜色属性是否真的从速记定义中丢失了? 问题

  • 我有一张照片类型(不是风景)的背景图片,979px宽,1200px高。我想把它设置为向左浮动,并显示100%固定的全图像高度,而不需要向上/向下滚动(无论内容长度如何)。 这是我的CSS代码,但它不工作:

  • 背景图像在大屏幕上不显示为完整图像,但在小屏幕上很合适。 在所有的屏幕上,图像都有一个特定的维度来作为响应?

  • 全景图 通过叠加若干张单独拍摄的照片,然后将它们合并为一张图像,可制作广阔视野的主体,通常是风景。 摄影师在相同位置拍摄了两张略有重叠的图像。请注意,左边的图像完整地显示了水路,而右边的图像只是显示了部分水路。随后,她将两幅图像合并在一起,创建了全景图或全景图像。

  • 我想在一个扩展场景的类中画一张画布。当我按下场景上的按钮时,这个场景应该显示出来,这个场景是在扩展的类“GUI”中创建的。 为设置图像(我不知道要将ImageView作为子节点添加到哪个节点{类似不起作用}) 试图在画布上画画。(与上面的问题相同。在哪里添加此画布?) 类: 和类: PS:Jeah!我在这个论坛上的第一个问题。你好世界!

  • 我们使用谷歌街景图像应用编程接口(而不是Javascript应用编程接口)来构建一个返回街景图像的网址。问题是,有时它会返回建筑物内部的图像,而不是提供地址的建筑物图像,例如: https://maps.googleapis.com/maps/api/streetview?size=600x300 是否有只显示户外图像的解决方案/解决方法?