【发布时间】:2010-05-03 16:44:11
【问题描述】:
我正在尝试制作一个使用纬度/经度坐标链接到 Google 街景的应用,并显示最近道路的街景。这是来自一个相当小且覆盖良好的区域,因此在海洋中间不会有任何坐标。
是否有已发布的 API 显示您需要直接链接到街景的获取参数?
【问题讨论】:
标签: language-agnostic google-maps gis
我正在尝试制作一个使用纬度/经度坐标链接到 Google 街景的应用,并显示最近道路的街景。这是来自一个相当小且覆盖良好的区域,因此在海洋中间不会有任何坐标。
是否有已发布的 API 显示您需要直接链接到街景的获取参数?
【问题讨论】:
标签: language-agnostic google-maps gis
您可能有兴趣查看以下参考资料,其中描述了可以传递给 maps.google.com 的所有已知参数,包括街景参数:
虽然这不是官方 API,但我认为可以公平地说这些应该是相当可靠的,因为它们与用于 Google 地图中的永久链接的参数相同。
有了这个,你应该能够构造如下的东西:
http://maps.google.com/?cbll=40.714103,-74.006206&cbp=12,20.09,,0,5&layer=c
【讨论】:
如果您想从 Streetview 服务中提取原始 jpeg,这可以很容易地完成。此处讨论了该技术:
http://jamiethompson.co.uk/web/2010/05/15/google-streetview-static-api/
全景图的 XML 元数据可以从以下请求中获取
http://cbk0.google.com/cbk?output=xml&ll=[LAT,LNG]
这会让你得到这样的东西:
<panorama>
<data_properties image_width="13312" image_height="6656" tile_width="512" tile_height="512" pano_id="sLaiF6Jex7mJmNol7tdOoA" num_zoom_levels="3" lat="51.495090" lng="-0.146971" original_lat="51.495098" original_lng="-0.147000">
<copyright>© 2010 Google</copyright>
<text>Eccleston Pl</text>
<region>London, England</region>
<country>United Kingdom</country>
<data_flag>1</data_flag>
</data_properties>
<projection_properties projection_type="spherical" pano_yaw_deg="201.78" tilt_yaw_deg="92.06" tilt_pitch_deg="1.75"/>
<annotation_properties>
<link yaw_deg="204.7" pano_id="CeutxcyB2V74lfN_fJwRww" road_argb="0x80ffffff">
<link_text>Eccleston Pl</link_text>
</link>
<link yaw_deg="24.7" pano_id="t_mnKSugTLrQTEnJplXQ3A" road_argb="0x80ffffff">
<link_text>Eccleston Pl</link_text>
</link>
</annotation_properties>
然后可以使用 pano_ids 从街景 API 获取缩略图或高分辨率图块
缩略图
http://cbk0.google.com/cbk?output=thumbnail&w=416&h=208&panoid=sLaiF6Jex7mJmNol7tdOoA
平铺
http://cbk0.google.com/cbk?output=tile&panoid=sLaiF6Jex7mJmNol7tdOoA&zoom=4&x=0&y=3
【讨论】:
你的意思是像this这样的东西吗?
【讨论】:
以下是坐标 40.437, -79.962 (lat,lon) 的街景图片的链接:
我不确定为什么坐标会重复几次,我怀疑这可能与观看方向等有关。我还没有检查这是否适用于其他坐标。希望这会有所帮助。
【讨论】: