google-maps - Google 街景 map - 解析 url 以用作街道图像

标签 google-maps google-maps-api-3

情况:我正在为客户开发 map 功能,我需要能够获取街景的屏幕截图,然后将它们显示为轮播(类似于 Google 本身的做法)。他们可以在 CMS 中选择所需的任何位置。

我能想到的唯一方法(考虑到非技术最终用户)是允许他们从街景 View 中复制并粘贴 URL,然后解析它。

例如:https://www.google.com/maps/@60.959789,-149.112111,3a,75y,104.14h,94.39t/data=!3m4!1e1!3m2!1sJmW2DmZWQ2bIcAcHlky4-w!2e0

会给你: enter image description here

经过一番修改,我认为以下分割对应于 paramerters for the Google Street View Image API

60.959789 (lat)
-149.112111 (long)
3a (unknown)
75y (field of view)
104.14h (heading)
94.39t (pitch)
/data=!3m4!1e1!3m2!1sJmW2DmZWQ2bIcAcHlky4-w!2e0 (unknown)

但是,当我将它们插入图像的 url 结构时,我得到:

https://maps.googleapis.com/maps/api/streetview?size=400x400&location=60.959789,-149.112111&fov=75&heading=104.14&pitch=94.39

enter image description here

问题

我搞砸了什么?

我可以用更好的方法吗?

附录: 另外,如何从相关的光球照片中获取正确的 pano 属性?例如,如何获得 this photosphere 的街景图像.

最佳答案

我尽量避免回答自己的问题,但以下是我在解析 Google 街景 View 中的 URL 以在其街景图像 API 中使用时发现的内容。

60.959789 (lat)
-149.112111 (long)
3a (unknown)
75y (field of view)
104.14h (heading)
94.39t (pitch)
/data=!3m4!1e1!3m2!1sJmW2DmZWQ2bIcAcHlky4-w!2e0 (unknown)

data 属性是一个有趣的属性。 This blog article helped me弄清楚。

属性的每个段前面都有“!”、1 - 5 之间的数字(或可能更大)和字母(m、e 等)。

出于某种原因,第四个元素(从 0 开始计数时的第三个)是 pano 属性。

因此,this street view of the Acropolis可以将图像解析为以下 url:

https://maps.googleapis.com/maps/api/streetview?size=200x200&location=37.971822,23.726532&fov=75&heading=163.13&pitch=7.599999999999994&pano=fPhZjlaq_sAAAAQYNw-Ypw

enter image description here

我不确定其他属性与什么相关,但我想知道。

关于google-maps - Google 街景 map - 解析 url 以用作街道图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28489214/

相关文章:

javascript - 如何最好地将微数据包含在动态 map 的 SVG 中?

javascript - 从谷歌地图中删除自定义叠加层

javascript - markerclusterer 鼠标悬停不起作用

javascript - 在 google api v3 中使用地理自动完成获取邮政编码

android - 如何在谷歌地图中获取当前位置

javascript - 有没有办法确定点击了哪个谷歌地图标记?

javascript - 谷歌地图 API v3 : Is there a callback or event listener after zoom changed?

android - 错误膨胀类 com.readystatesoftware.maps.TapControlledMapView

javascript - 在带有谷歌地图嵌入 api 的 ng-src 中使用 Angular 表达式

google-maps-api-3 - 如何绘制多个标记以及绘制两点之间的路线?