嗨,我有一个属性的地址,我的应用程序可以启动浏览器来访问http://maps.google.com?q=searchStringHere。如果找到一个好的匹配,它会直接把它带到那里。有什么我可以附加到 url 以使其切换到街景而没有确切坐标的东西吗?我不想编写任何 javascript 或 flash 代码。
5 回答
构建 Google 街景 URL
基本 Google 地图网址 http://maps.google.com/maps?q=
q= 查询 - 在此参数中传递的任何内容都被视为已输入到 maps.google.com 页面上的查询框中。
显示 GPS 线位置的基本 url
http://maps.google.com/maps?q=31.33519,-89.28720
http://maps.google.com/maps?q=&layer=c
layer= 激活覆盖。当前选项是“t”交通,“c”街景。同时追加(例如 layer=tc)。
http://maps.google.com/maps?q=&layer=c&cbll=
cbll= 街景的纬度、经度
http://maps.google.com/maps?q=&layer=c&cbll=31.33519,-89.28720
http://maps.google.com/maps?q=&layer=c&cbll=31.335198,-89.287204&cbp=
cbp= 接受 5 个参数的街景窗口:
街景/地图排列,11=上半部街景和下半部地图,12=大部分街景和角落地图
旋转角度/方位(度)
倾斜角度,-90(笔直向上)至 90(笔直向下)
缩放级别,0-2
俯仰(以度为单位)-90(垂直向上)到 90(垂直向下),默认 5
下面的一个是:(11) 上半部分街景和下半部分地图,(0) 朝北,(0) 正前方,(0) 正常缩放,(0) 间距为 0
这个按原样工作,只需更换电线,如果您想面向不同的方向(11 后的 0) http://maps.google.com/maps?q=&layer=c&cbll=31.335198,-89.287204&cbp=11 ,0,0,0,0
不幸的是,没有简单的答案,基于地址。
首先,此处记录了 Google 地图站点的参数列表,因此您可以以此为起点。
简单的部分是您需要选择街景图层“&layer=c”。
但是,在该图层中显示任何内容之前,您需要指定视图的位置。您可以通过 cbll 中的纬度和经度以及 cbp 中的一些选项设置相机的角度。
要从地址中获取纬度和经度,您需要使用地理编码服务,例如google maps api。
但是,这只会让您看到该地址附近的街景。除了知道街景需要从哪里拍摄外,您还需要知道将相机指向哪个角度 - 每个地址都会有所不同,具体取决于街景相机拍摄照片的最近点的位置,所以自动完成并不容易(我知道的任何信息都可用......)
更新 10/2018
GET API(见 Haygood 的回答)似乎已经过时,但有些调用似乎仍然有效。
基本网址:
更改为http://www.google.com/maps(map.google.com/maps仍然有效,但会重定向)
参数:
q:被忽略,可以跳过 更多谷歌街景代码解释
layer:该参数必须设置为c(不再支持t并破坏它)
- cbll:经纬度(不变)
cbp:仅支持参数 2(旋转角度)和 5(俯仰角)
被忽略,可以是 0 或空字符串
旋转角度/方位(度)
被忽略,可以是 0 或空字符串
被忽略,可以是 0 或空字符串
俯仰(度数)-90(直线向上)到 90(直线向下)
更新示例:http ://www.google.com/maps?layer=c&cbll=31.335198,-89.287204
或http://www.google.com/maps?layer=c&cbll=31.335198,-89.287204&cbp=,30,,,20旋转 30 和间距 20。
更新 07/2019:
截至目前,10/2018 的解决方案仍然适用于我,但我找到了一种官方记录的方式来构建街景 URL:
形成街景 URL
https://www.google.com/maps/@?api=1&map_action=pano¶meters
参数
- map_action=pano(必需):指定要显示的视图类型。地图和街景共享同一端点。为确保显示全景图,必须将动作指定为全景图。
还需要以下 URL 参数之一:
视点:查看器显示最接近视点位置拍摄的全景图,指定为以逗号分隔的纬度/经度坐标(例如 46.414382,10.013988)。由于街景图像会定期刷新,而且每次拍摄的照片位置可能略有不同,因此您的位置可能会在图像更新时捕捉到不同的全景图。
pano:要显示的图像的特定全景 ID。如果你指定一个全景,你也可以指定一个视点。仅当 Google 地图无法找到全景 ID 时才使用视点。如果指定了 pano 但未找到,并且未指定视点,则不显示全景图像。相反,谷歌地图以默认模式打开,显示以用户当前位置为中心的地图。
以下 URL 参数是可选的:
航向:指示相机的罗盘航向,以从北顺时针的度数为单位。可接受的值为 -180 到 360 度。如果省略,则根据查询的视点(如果指定)和图像的实际位置选择默认标题。
pitch:指定相机的角度,向上或向下。俯仰角以 -90 到 90 度为单位指定。正值将使摄像机向上倾斜,而负值将使摄像机向下倾斜。默认间距 0 是根据拍摄图像时相机的位置设置的。因此,0 的间距通常是水平的,但并不总是水平的。例如,在山上拍摄的图像可能会呈现非水平的默认间距。
fov:确定图像的水平视野。视野以度数表示,范围为 10 - 100。默认为 90。在处理固定大小的视口时,视野被认为是缩放级别,数字越小表示缩放级别越高.
示例 1:仅使用视点指定位置。
来源:https ://developers.google.com/maps/documentation/urls/guide (滚动到底部查看街景网址)
您可以通过按街景顶部的链接按钮获取值。