gpt4 book ai didi

javascript - Google Street View API pano 参数之间的差异(Javascript 与 HTTP)

转载 作者:行者123 更新时间:2023-11-28 04:00:28 25 4
gpt4 key购买 nike

我正在开发一个计算机视觉项目,并编写了一个 JavaScript 程序(使用 JS Google Street View API )来注释 Google 街景图像中的对象。

我的问题如下:

当我使用Google Street View HTTP API时为了检索我用 JavaScript 程序注释的图像,即使我使用相同的参数来获取街景,返回的图像也不完全相同。

作为一个例子比长篇大论更好,有人知道为什么 2 个不同的 API 为相同的参数提供不同的图像吗?

(panoId="cBMoF9_AqIlK81fFNelY3g",
heading=258.7435095128366,
pitch=-3.895758339008495,
size=600x600 e.g.)

我得到this image with the HTTP Google Street View API

this other one with the JS Google Street View API

我一开始以为是因为zoom/fov属性的不同,但是如 this post确认了这一点,zoom=3 相当于 fov=22.5 (参见我的示例)。此外,我使用默认值(zoom=1/fov=90)进行测试,图像并不完全相同。

有关更多详细信息,我在下面的代码片段中复制了部分 JavaScript 代码,可以与 HTTP API 链接进行比较。 (不要忘记更改 YOUR_API_KEY!!!)

HTTP API:

https://maps.googleapis.com/maps/api/streetview?size=600x600&pano=cBMoF9_AqIlK81fFNelY3g&heading=259.61209261440393&pitch=-2.9417641281063715&fov=22.5

Javacript API:

function initialize() {

// Set up the map.
map = new google.maps.Map(document.getElementById('map'), {
center: {"lat": 48.84981719, "lng": 2.29300828},
zoom: 16
});

var marker = new google.maps.Marker({
position: {"lat": 48.84981719, "lng": 2.29300828},
map: map,
title: "test",
draggable: true
});

var panorama = new google.maps.StreetViewPanorama(
document.getElementById('pano'), {
// position: params.center,
pano: "cBMoF9_AqIlK81fFNelY3g",
pov: {
heading: 258.7435095128366,
pitch: -3.895758339008495
},
zoom: 3,
mode: "html5"
});
map.setStreetView(panorama);

}
html, body {
height: 100%;
margin: 0;
padding: 0;
}

#map, #pano {
float: left;
height: 600px;
width: 600px;
position: relative;
z-index: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="map"></div>
<div id="pano"></div>
<script async defer type="text/javascript">
var apiKey = "YOUR_API_KEY";
var googleURL = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + "&callback=initialize";
$.getScript(googleURL)
</script>

最佳答案

我遇到了相关问题,我得出的结论是街景元数据 API 给出的坐标不正确(随机扰动?)。

例如,有一对相邻的全景图,如下所示。

元数据 API 给出的坐标 [lat,lon] 为:[ 14.43644554, 99.87141436], [ 14.4365385, 99.8714599 ]。计算位移:东4.904米,北10.337米。计算出的间距:11.441 米。计算出的航向为 25.38 度。

在浏览器(HTTP API)中,它们显示为:[ 14.4364125, 99.8713909],[ 14.4364907, 99.8714431]。计算位移:东5.621米,北8.695米。计算出的间距:10.354 米。计算出的航向为 32.88 度。

差别真的很大!

(在此示例中,如果将元数据 API 中的坐标提供给 HTTP API,则 HTTP API 会呈现与 Python 图像 API 相同的全景图,但我也见过类似 OP 给出的示例,其中不同的返回全景图。)

我真的很渴望听到任何人能够对此有更多的了解。

关于javascript - Google Street View API pano 参数之间的差异(Javascript 与 HTTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47159913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com