我需要完全按照用户选择的方式保存街景图像(包括全景、航向、俯仰和视野)。我有以下代码:
panorama = new google.maps.StreetViewPanorama(document.getElementById('pano'));
panorama.addListener('pano_changed', function () {
$('#panoID').val(panorama.getPano());
});
panorama.addListener('pov_changed', function () {
$('#heading').val(panorama.getPov().heading);
$('#pitch').val(panorama.getPov().pitch);
$('#fov').val(panorama.getZoom());
});
问题是我想保存缩放为fov值https://developers.google.com/maps/documentation/streetview/intro(看fov可选参数)
fov(默认值为90)确定图像的水平视野。视野以度表示,最大允许值为120。当处理固定大小的视口时,就像处理设置大小的街景图像一样,视野本质上代表缩放,较小的数字表示更高级别的缩放。
我找到了一些“转换”信息https://developers.google.com/maps/documentation/javascript/streetview#TilingPanoramas
但它告诉我们,fov可以持续到180,但prev。链接告诉120的值是最大值。为什么?当然,我可以找到转换的比率,但可能存在正常的方式(即全景返回Fov而不是缩放)?
而且,在pov_changed中捕捉缩放似乎不是最好的方法。有时缩放没有正确更新
您可以使用以下公式将fov转换为缩放:
>
fov放大:
缩放=Math.log(180/fov
)/(Math.log(2))
反之亦然:
>
fov=180/数学。pow(2,
缩放
)
原始答案
找到了以下从缩放转换为FOV的函数:
var k = Math.pow(0.5051, zoom);
var fov = 103.7587 * k;
它的工作原理(几乎完全正确):)
补充
更精确的结果:
var fov = 180 / Math.pow(2,zoom)
感谢trungk18
我正在尝试使用谷歌街景API获取街景图像。我的代码适用于除法国以外的所有国家。出于某种原因,当我试图从法国任何地方获取数据时,我只会得到一张灰色图像,上面写着“对不起,我们这里没有图像。”但是,我知道那里有图像,因为我可以通过你的谷歌网站使用谷歌街景,看到街景。 例如,如果我去https://maps.google.com/maps/ms?ie=UTF8 知道我做错了什么吗?为什么会这样?
有人知道一个公式,我可以用它来转换从谷歌地图缩放Android API:https://developers.google.com/maps/documentation/android-api/streetview到谷歌街景图像API中使用的FOV:https://developers.google.com/maps/documentation/streetview/intro? 我在这里找到了几
我们使用谷歌街景图像应用编程接口(而不是Javascript应用编程接口)来构建一个返回街景图像的网址。问题是,有时它会返回建筑物内部的图像,而不是提供地址的建筑物图像,例如: https://maps.googleapis.com/maps/api/streetview?size=600x300 是否有只显示户外图像的解决方案/解决方法?
我知道可以使用谷歌API视觉在网上找到类似的图片。我的目标是根据我的图像数据库找到类似的图像。我不想在网上看到类似的图片。 可能吗? 如果是,你能给我一些链接或建议吗? 谢谢
我正在开发Android谷歌地图应用程序,但我用来获取用户附近地方结果的查询字符串不起作用。 我正在使用此链接获取Maps API密钥。 以下是我收到的回复。 谢谢
(1)https://stackoverflow.com/questions/34247347/initialize-google-map-to-zoom-to-bounds(2)bounds google maps (3)在google maps android api v2中设置最大缩放级别(4)android map v2缩放显示所有标记 (5)在android中调整google map(a