tokenpockettokenpocket钱包官网|google街景

作者: tokenpockettokenpocket钱包官网
2024-03-07 19:01:37

Explore Street View and add your own 360 images to Google Maps.

Explore Street View and add your own 360 images to Google Maps.

Jump to Content

Maps

Street View

Go to Street View

Upload 360 imagery

Maps

Street View

How it works

Contribute

Businesses

Show your business

Hire a trusted professional

Case Studies

Policy

Google-Contributed

Trusted photographers contributed

Fraud prevention

Go to Street View

Upload 360 imagery

Bringing your map to life, one image at a time

Street View stitches together billions of panoramic images to provide a virtual representation of our surroundings on Google Maps. Street View's content comes from two sources - Google and contributors. Through our collective efforts, we enable people everywhere to virtually explore the world.

Watch the film

Link to Youtube Video

(visible only when JS is disabled)

A visual way to travel

360 imagery helps you know where to go and what to expect when traveling. Explore world-famous landmarks, galleries, and museums right from your device, or turn the clock back with Street View historical imagery to see how a location has changed over time.

How to use Street View

Find images from other dates

Where Google is collecting Street View next

Discover where were headed next with the Street View car or the Street View Trekker.

All

All

View districts

Explore iconic Street View locations

Abu Dhabi

Take in the majestic Sheikh Zayed Grand Mosque

With an area of more than 30 acres (12 hectares) this mosque accommodates more than 40,000 worshippers.

Explore on Street View

Peru

Explore the ancient temples of Machu Picchu

The world's most famous Inca citadel. It was built in the 5th century and has a 7,970 ft (2,430-meter) mountain ridge.

Explore on Street View

United States

Scale Yosemite's El Capitan with a pro climber

Watch a pro climber facing this vertical rock formation of 3,000 feet (914-meter) from base to summit.

Explore on Street View

France

Enjoy the beautiful Paris skyline atop the Eiffel Tower

Built to mark the centennial of the French Revolution, this is France's most famous tourist attraction.

Explore on Street View

Greenland

Drift along with an Icefjord

Located 250 km north of the Arctic Circle, it was declared a UNESCO World Heritage Site in 2004.

Explore on Street View

New Zealand

Meet the world's only flightless parrot

With only around 250 living individuals left, the kākāpō is one of the world's rarest and most protected birds.

Explore on Street View

Explore your world or create your own imagery

Go to Street View

Create your imagery

Developers

Image Acceptance & Policy

Help Center

About Google

Google Products

Privacy

Terms

Help

Afrikaans

English

አማርኛ

العربية

azərbaycan

български

বাংলা

bosanski

català

čeština

dansk

Deutsch

Deutsch (Schweiz)

Ελληνικά

English (Switzerland)

English (United Kingdom)

español (Latinoamérica)

español

eesti

euskara

فارسی

Filipino

français

français (Canada)

français (Suisse)

galego

ગુજરાતી

हिन्दी

hrvatski

magyar

հայերեն

Indonesia

íslenska

italiano

italiano (Svizzera)

עברית (ישראל)

日本語

ქართული

ខ្មែរ

ಕನ್ನಡ

한국어

ລາວ

lietuvių

latviešu

മലയാളം

монгол

मराठी

Melayu

नेपाली

Nederlands

norsk bokmål (Norge)

polski

português (Brasil)

português (Portugal)

română

русский

සිංහල

slovenčina

slovenščina

српски

svenska

Kiswahili

தமிழ்

తెలుగు

ไทย

Türkçe

українська

اردو

Tiếng Việt

中文 (简体)

中文

中文 (繁體)

isiZulu

街景地图-实景地图-全景地图-地球在线

街景地图-实景地图-全景地图-地球在线

  

选择城市:

请选择

北京

上海

三亚

西安

拉萨

厦门

广州

深圳

重庆

查看更多城市

    

  街景地图-360°全景实景视觉体验

>>分享当前街景地图 >>城市列表  

街景地图操作指南

1.首先选择您要浏览的城市,可以通过页面右上角的城市列表快速进入。

2.主页面由街景实景视图和电子地图视图构成,分别占据左右两个区域,其中电子地图视图中的图标所指示的位置就是当前街景图像所处的地理位置。

3.在街景视图画面中,您可以用鼠标拖拽来随意调整角度或视野,通过点击来进行移动,通过鼠标滚轮或加减号按钮来缩放。

4.用鼠标拖动电子地图中的图标,即可查看任意位置的街景地图(蓝色路径表示当前街路的街景图像可用)。

站点链接:地图大全 卫星地图 打车查询 地铁图 地图迷 IP查询-IPv6测试 经纬度查询 手机定位 实时路况 资讯迷 旱烟百科 TourBrowser VSearch 极简天气 推文搜索 洛阳河洛古城 栾川竹海野生动物园 洛阳未来城科幻乐园 宜昌市城市规划展览馆 湖北金刚山景区 宜昌世界和平公园 长沙县开物中学 青岛第六十六中学 釜山大学 江苏泰兴公园 兴化市森林公园 新四军黄桥战役纪念馆 泰州古光孝寺 隋炀帝陵遗址公园 俞源太极星象村 金华人民广场 灵江源森林公园 嵩溪古村风景区 中国木雕博物馆 北京柳浪家园北里 冬格措纳湖 那拉提旅游风景区 庙尔沟瀑布风景区 新疆天赐圣泉度假酒店

Designed by 地球在线-街景地图

街景照片有两个来源:Google 和我们的贡献者。

街景照片有两个来源:Google 和我们的贡献者。

跳到内容

地图

街景

首页

探索

商家

完善您的商家信息

聘请可信专业人员

支持 360 度全景照片的工具

街景故事

案例研究

政策

Google 提供的内容

“可信”摄影师贡献的内容

防范欺诈

15 周年

地图

街景

首页

探索

商家

完善您的商家信息

聘请可信专业人员

支持 360 度全景照片的工具

街景故事

案例研究

政策

Google 提供的内容

“可信”摄影师贡献的内容

防范欺诈

15 周年

关闭抽屉式导航栏

图像来源

街景照片有两个来源:Google 和我们的贡献者。

我们的内容

Google 自有的内容会标注“街景”或“Google 地图”字样。我们会自动对图像中的人脸和车牌号进行模糊处理。

政策详情

来自其他贡献者的内容

用户提供的内容会附上可点击/可点按的帐号名称,有时还会附上个人资料照片。

政策详情

Google 如何把街景带给您

为了共享街景图像,我们的工程小组一直在幕后辛勤地工作。下面简要介绍 Google 街景视图工程小组目前是如何开展工作的。

第 1 步

采集图像

首先,我们需要驾车前往要在街景中呈现的地点并实地拍摄。我们会密切关注多种因素,包括各个区域的天气和人口密度,以便确定能够采集到最佳图像的时机和地点。

第 2 步

校准图像

为了让每张图像都能与其在地图上的位置一一对应,我们会综合车中多个传感器的信号,包括测量 GPS、速度和方向的传感器。这有助于我们再现汽车的确切路线,甚至可以根据需要倾斜并重新调整图像。

第 3 步

将照片转换成 360 度全景照片

为避免 360 度全景照片中出现间隙,相邻摄像机所拍摄的照片都会留一点重叠区,后期我们再将照片“拼接”在一起,制作成 360 度的图像。随后,我们会采用特殊的图像处理算法,以减少“接缝”并实现平滑过渡。

第 4 步

准确呈现图像

根据街景汽车发出的三条激光束从物体表面反射回来的延时,我们可以计算出建筑物或物体与我们之间的距离,并据此构建出 3D 模型。当用户移到远处的区域时,此 3D 模型就可确定要在该位置为用户呈现的最佳全景图。

第 1 步

采集图像

首先,我们需要驾车前往要在街景中呈现的地点并实地拍摄。我们会密切关注多种因素,包括各个区域的天气和人口密度,以便确定能够采集到最佳图像的时机和地点。

第 2 步

校准图像

为了让每张图像都能与其在地图上的位置一一对应,我们会综合车中多个传感器的信号,包括测量 GPS、速度和方向的传感器。这有助于我们再现汽车的确切路线,甚至可以根据需要倾斜并重新调整图像。

第 3 步

将照片转换成 360 度全景照片

为避免 360 度全景照片中出现间隙,相邻摄像机所拍摄的照片都会留一点重叠区,后期我们再将照片“拼接”在一起,制作成 360 度的图像。随后,我们会采用特殊的图像处理算法,以减少“接缝”并实现平滑过渡。

第 4 步

准确呈现图像

根据街景汽车发出的三条激光束从物体表面反射回来的延时,我们可以计算出建筑物或物体与我们之间的距离,并据此构建出 3D 模型。当用户移到远处的区域时,此 3D 模型就可确定要在该位置为用户呈现的最佳全景图。

全方位探索周围世界。

查看图库

我们前往的地方

我们将驾驶街景汽车穿越许多国家/地区,为您带来增强体验和帮助您探索周围世界的图像。查看我们接下来要开展拍摄工作(驾驶街景汽车或徒步拍摄)的国家/地区列表。

国家/地区

{[country]}

区域

时间

{[value.region]}

{[value.districts]}

{[value.datestart| date:'MM/yyyy']} - {[value.dateend| date:'MM/yyyy']}

受到无法掌控的因素(天气、道路封闭等)的影响,我们的街景拍摄车很有可能停止拍摄,或是出现略微调整。同时请注意,列表上注明的城市实际可能包括街景汽车行驶范围内的各个小城镇。

我们去过的地方

地图上的蓝色区域显示的是有街景图像的地区。您可以放大并查看细节,或是使用我们的网站和应用浏览这些内容。

Google 自己的街景车队

浏览我们的街景车队。

街景汽车

自 2007 年街景项目在美国启动以来,我们取得了巨大进展,如今我们的 360 度全景照片已覆盖全球七大洲。

街景肩背式摄像机

肩背式摄像机可以去到街景汽车、街景三轮车、街景手推车或街景雪地车到不了的地方,因而可以将街景采集范围扩大到世界上的更多地方。它采用可穿戴背包设计,在背包顶部装有摄像系统。由于携带极其方便,因此即使是狭窄难行的空间或只有步行才能穿行的地方,我们也可以通过它边走边采集图像。我们用这项摄像技术采集的第一组图集就是沿着亚利桑那州大峡谷崎岖的岩石地形取景的。

街景手推车

一群热爱艺术的 Google 员工希望能将街景技术应用到世界各地的博物馆,于是想到开发一种能够轻松通过博物馆门廊和围绕雕塑品采集图像的系统。初次尝试室内拍摄时,我们将所有必需的设备都安装到了一个更小的机柜中:在手推车上安装摄像系统,组装成手推拍摄车。它不但采集了博物馆内的景观,还将白宫和体育场馆等其他室内场所的景观也都一一记录下来。

街景雪地车

还有一个可携带街景摄像机去探索的好地方,那就是滑雪斜坡。我们用了几个周末的时间成功将街景设备组装到了雪地车上,期间使用了一些 2x4s 板材和胶带,多出的硬盘则包裹在滑雪衫中,以抵御寒冷的环境。现在,滑雪者、单板滑雪爱好者和雪地徒步爱好者可以尽情探索惠斯勒黑梳山以及周边旅游胜地起伏不平的雪场地形了。

街景三轮车

在窄巷遍布的城市,我们需要考虑使用有足够承载力的车辆来运载街景肩背式摄像机。我们团队发现,印度尼西亚的 Selis Robin 摩托车非常适合用来深入到一些狭窄巷道进行拍摄。于是便推出了这款街景三轮车。我们专门为这款车加装了柱杆,使街景肩背式摄像机更加稳固。

开发者

图像收录与隐私权政策

帮助中心

隐私权政策

条款

简介

Google 产品

帮助

更改语言或地区

Afrikaans

English

አማርኛ

العربية

azərbaycan

български

বাংলা

bosanski

català

čeština

dansk

Deutsch

Deutsch (Schweiz)

Ελληνικά

English (Switzerland)

English (United Kingdom)

español (Latinoamérica)

español

eesti

euskara

فارسی

Filipino

français

français (Canada)

français (Suisse)

galego

ગુજરાતી

हिन्दी

hrvatski

magyar

հայերեն

Indonesia

íslenska

italiano

italiano (Svizzera)

עברית (ישראל)

日本語

ქართული

ខ្មែរ

ಕನ್ನಡ

한국어

ລາວ

lietuvių

latviešu

മലയാളം

монгол

मराठी

Melayu

नेपाली

Nederlands

norsk bokmål (Norge)

polski

português (Brasil)

português (Portugal)

română

русский

සිංහල

slovenčina

slovenščina

српски

svenska

Kiswahili

தமிழ்

తెలుగు

ไทย

Türkçe

українська

اردو

Tiếng Việt

中文 (简体)

中文

中文 (繁體)

isiZulu

关于 - Google 地图

关于 - Google 地图

地图

跳到内容

更改语言或地区

CatalàDanskDeutschEestiEnglishEnglish (India)English (United Kingdom)EspañolEspañol (Latinoamérica)EuskaraFilipinoFrançaisFrançais (Canada)GalegoHrvatskiIndonesiaItalianoLatviešuLietuviųMagyarMelayuNederlandsNorsk Bokmål (Norge)PolskiPortuguêsPortuguês (Brasil)Português (Portugal)RomânăSlovenčinaSlovenščinaSuomiSvenskaTiếng ViệtTürkçeÍslenskaČeštinaΕλληνικάБългарскиРусскийСрпскиУкраїнськаעברית (ישראל)العربيةفارسیहिन्दीไทย中文 (简体)中文 (繁體)日本語한국어

立即试用

更改语言或地区

CatalàDanskDeutschEestiEnglishEnglish (India)English (United Kingdom)EspañolEspañol (Latinoamérica)EuskaraFilipinoFrançaisFrançais (Canada)GalegoHrvatskiIndonesiaItalianoLatviešuLietuviųMagyarMelayuNederlandsNorsk Bokmål (Norge)PolskiPortuguêsPortuguês (Brasil)Português (Portugal)RomânăSlovenčinaSlovenščinaSuomiSvenskaTiếng ViệtTürkçeÍslenskaČeštinaΕλληνικάБългарскиРусскийСрпскиУкраїнськаעברית (ישראל)العربيةفارسیहिन्दीไทย中文 (简体)中文 (繁體)日本語한국어

探索周边的世界

在世界各地或附近探索新体验

探索周边世界

借助焕然一新的“探索”标签页,探寻您周边或旅行目的地的美食和推荐活动

专为您推荐

查看系统根据您的兴趣为您推荐的新地点和热门地点

创建列表

轻松创建您想去的地点列表,以及为您保存的地点添加备注。您可以将这些列表设为“不公开”,也可以将其分享给好友,亦或公开共享这些列表。此外,您还可以浏览发布商、本地向导或 Google 创建的列表

1

2

3

与您感兴趣的地点建立联系,将计划付诸实践

关注您喜爱的商家

关注您喜爱的商家后,即可随时掌握他们提供的优惠、最新动态等内容

提前预订

只需点按几下即可预订、预约或购票

了解详情

快速获取答案

直接在 Google 地图上给商家发消息,了解相关信息

1

2

3

探索周边世界

获取实时路况更新

掌握交通拥堵、交通事故、封路情况和移动测速装置的实时动态,找出最佳驾车路线。您也可以自行报告交通事故,让其他司机及时掌握最新情况

无需动手即可通过 Google 助理获取帮助

Google 助理现已与 Google 地图集成,因此您可以在驾车时发消息、打电话、听音乐,无需动手即可获取帮助。只需说“Ok Google”即可开始使用

获取公共交通的实时动态更新

获取公交车和火车的最新动态(例如发车时间和公交车的拥挤程度)。您还可以在地图上查看所乘公交车的位置,这样您就知道是否需要加快步伐赶往公交站

放心地探索新地点

开启 Google 地图中的实景功能,虚拟的箭头和方向标将与现实世界叠加,帮助您认清前进路线。大大减少犹疑和错过转向的次数

1

2

3

4

在世界各地或附近探索新体验

探索周边世界

借助焕然一新的“探索”标签页,探寻您周边或旅行目的地的美食和推荐活动

专为您推荐

查看系统根据您的兴趣为您推荐的新地点和热门地点

创建列表

轻松创建您想去的地点列表,以及为您保存的地点添加备注。您可以将这些列表设为“不公开”,也可以将其分享给好友,亦或公开共享这些列表。此外,您还可以浏览发布商、本地向导或 Google 创建的列表

与您感兴趣的地点建立联系,将计划付诸实践

关注您喜爱的商家

关注您喜爱的商家后,即可随时掌握他们提供的优惠、最新动态等内容

提前预订

只需点按几下即可预订、预约或购票

了解详情

快速获取答案

直接在 Google 地图上给商家发消息,了解相关信息

探索周边世界

获取实时路况更新

掌握交通拥堵、交通事故、封路情况和移动测速装置的实时动态,找出最佳驾车路线。您也可以自行报告交通事故,让其他司机及时掌握最新情况

无需动手即可通过 Google 助理获取帮助

Google 助理现已与 Google 地图集成,因此您可以在驾车时发消息、打电话、听音乐,无需动手即可获取帮助。只需说“Ok Google”即可开始使用

获取公共交通的实时动态更新

获取公交车和火车的最新动态(例如发车时间和公交车的拥挤程度)。您还可以在地图上查看所乘公交车的位置,这样您就知道是否需要加快步伐赶往公交站

放心地探索新地点

开启 Google 地图中的实景功能,虚拟的箭头和方向标将与现实世界叠加,帮助您认清前进路线。大大减少犹疑和错过转向的次数

了解人们如何使用 Google 地图来探索周边世界,在地图上展现他们的社区和帮助他人

我们为什么要绘制世界地图

地图制作是一项古老的人类活动,也是令我们这些努力打造 Google 地图的人倍感荣幸、愿意继续追求的事业

加利福尼亚州山景城

更多故事

澳大利亚墨尔本

Mums who Map

Mums who Map 本地向导团体由妈妈们组成,致力于帮助家长在澳大利亚墨尔本寻找适合带儿童一起游玩的地点。

本地向导故事

汤加努库阿洛法

为汤加制作地图

Tania Wolfgramm 和 Wikuki Kingi 打算将汤加风貌添加到街景中,让世界各地的用户都能领略到汤加之美。

加拿大德文岛

美国国家航空航天局营地

Google 地图与火星研究所和美国国家航空航天局携手合作,记录了在德文岛上进行的研究,该岛是地球上与火星最为相似的地方。

意大利诺尔恰

为意大利灾后恢复工作绘制地图

一位本地向导记录了地震为意大利带来的影响,向全世界表明,他们仍需要各界伸出援手,帮助灾后恢复工作。

本地向导故事

印度喀拉拉邦

喀拉拉邦洪灾救援

Bobby Kurian 利用 Google 地图在喀拉拉邦洪灾救援中标记她父母的位置,使他们最终获救。

尼日利亚

支持女性的权利

在本地向导和 Google 地图的帮助下,Princess Ilonze 在地图上找到了医院和警察局,挽救了生命。

本地向导故事

印度

印度的儿童

印度扫盲项目与 Google 展开合作,通过本地向导上传的照片帮助学生探索世界。

本地向导故事

蒙大拿州博兹曼

向全世界展示博兹曼

一位本地向导受到启发,以独一无二的方式赞美并展示她的家乡。

本地向导故事

巴西圣保罗

制作献血站地图

巴西的本地向导 Adriano Anjos 在 Google 地图上标记了圣保罗的各个献血中心。

本地向导故事

英国伦敦

无障碍路线

Google 地图上的无障碍路线让 Meridtyh、Omari、Adam 和 Lucy 的出行变得更加轻松。

印度加尔各答

Plus 代码

Plus 代码可用于创建地理坐标,让那些之前没有具体地址的地点拥有了地址。

大峡谷国家公园

退伍军人划皮划艇穿越大峡谷

五位盲人(退伍军人)划皮划艇穿越大峡谷,并在街景上记录了他们的这次冒险。

Google 地图博客

阅读文章、访谈内容等,了解 Google 地图的新变化

Want the best prices for your trip? Google can help.

Take off to your next destination with Google Maps

Hip-hop dancers show Paris in a new light on Street View

了解详情

我们可以在更多方面助您一臂之力

欢迎查看以下这些相关产品

街景

通过 Google 地图中的街景功能,探索全球著名地标,发现自然奇观,并身临其境地参观各个地点

了解详情

Google 地球

借助 Google 地球,通过卫星图像、3D 建筑图像与 3D 地形图像,探索全球数百个城市

开始探索

本地向导

成为一名本地向导,帮助世界各地的用户寻找所有值得一看的地方和值得去体验的事。

注册

Google 我的商家

免费设置您的商家资料,让在 Google 上进行搜索的用户一眼就能看到您的商家,并更好地与客户沟通交流

开始使用

获取 Google 地图

可在电脑上使用

其他资源

Google 公交合作伙伴

Google Maps Platform

隐私权与安全

隐私权

条款

Google 大全

Google 产品

帮助

现在还有哪些可以看世界街景地图的网站? - 知乎

现在还有哪些可以看世界街景地图的网站? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册地图地图应用街景地图现在还有哪些可以看世界街景地图的网站?年初还能通过sosyes这个域名看谷歌的街景地图,后来发现不能用了,提示development use only.求推荐一个可以拖小人看世界街景地图的…显示全部 ​关注者70被浏览1,138,453关注问题​写回答​邀请回答​好问题 19​添加评论​分享​8 个回答默认排序无线潜水的​ 关注来吧,给你个可以访问的无需下载APP,点击谷歌地图菜单,拖动小黄人到地图就搞定!来吧,日月潭!来吧,埃菲尔铁塔!日月潭埃菲尔铁塔美国科罗拉多大峡谷,最深落差近2000米,感叹大自然鬼斧神工:地中海的希腊小岛伊亚,诗一样的白色房子,看日落的好地方:意大利北部Val di Funes美丽山村旅游小镇:远眺日本富士山:通过会员系统登录,小黄人直接拖到地图即可,而且新系统支持包括北京故宫,美国白宫等全球绝大部分景区街景的访问!!包括对个人发布在谷歌地图的360全景照片的访问!北京故宫(The Palace Museum)景点:编辑于 2022-02-24 15:44​赞同 183​​55 条评论​分享​收藏​喜欢收起​粟粒米​ 关注 和大家分享一个可以看世界街景地图的软件, 名字叫做《谷歌地球》,因为最近不能发图,所以和大家口述吧,我尽量描述详细一些,不喜勿喷。安装:打开网页搜索《谷歌地球》,找到(Google地球),然后下载安装然后还需要下载另一个插件(ourplay),安卓的找到Ourplay(原谷歌空间)下载并安装,苹果的就搜索萍果版 使用:首先打开ourplay,在界面里倒入谷歌地球,然后在ourplay里打开就好了不用到抖音上去和别人买哦,别当一颗小韭菜感觉对你有帮助的话,点个赞吧,亲发布于 2020-08-22 11:46​赞同 18​​3 条评论​分享​收藏​喜欢

Google 地球

Google 地球

Google 地球

概览

Google 地球版本

资源

关于 Google 地球的更多内容

Earth Engine

Earth Studio

Google 地球虚拟实境

Earth Outreach

启动 Google 地球

概览

Google 地球版本

资源

关于 Google 地球的更多内容

Earth Engine

Earth Studio

Google 地球虚拟实境

Earth Outreach

在 Apple App Store 中下载 Google 地球

在 Google Play 商店中下载 Google 地球

世界上最详尽的地球仪

攀登最高的山峰。探索世界各地的城市。探秘世界上最深的峡谷。

启动 Google 地球

在 Apple App Store 中下载 Google 地球

在 Google Play 商店中下载 Google 地球

启动 Google 地球

keyboard_arrow_down

制作故事和地图

With creation tools, you can draw on the map, add your photos and videos, customize your view, and share and collaborate with others.

在 Google 地球上制作您自己的地图或故事

在地图上绘制

添加地标以突显项目中的关键地点,或直接在地图上绘制线条和形状。

添加照片和视频

在您的地图上显示图片和视频,增添丰富的背景信息。

定制您的视图

倾斜地图以获得完美的 3D 景观,或深入探索街景以享受 360 度全方位体验,您尽可将 Google 地球用作一个巨细无遗的地球仪。

与全世界分享您的故事

您可以与他人协作,就像在 Google 文档中协作一样简单,也可以以演示文稿的形式分享您的故事。

Adding placemarks and lines to Google Earth.

Adding a photo to a place.

Adding Street View and a 3D view to a Google Earth project.

Viewing your story as a presentation and sharing it with a collaborator.

寻找您喜欢的地方

通过卫星图像、3D 建筑图像与 3D 地形图像,探索全球数百个城市。您可以缩放到您的房屋或任何其他地方,然后利用街景功能,进行 360° 全方位的深入探索。

利用“探索者”功能选择自己的冒险之旅

全球一流讲故事能手、科学家和非营利组织带您游览全球。深入体验全新文化,检验自己对世界的认知。

抓到神偷卡门

世界上最厉害的神偷重出江湖!请根据线索找到她!

在 Google 地球中启动

地球视图

探索 Google 地球中那些最神秘、最引人注目的风景。

在 Google 地球中启动

这就是我们的家

在街景中参观世界各地的传统住宅,了解“家”之定义中哪些要素在变化,哪些要素永恒不变。

在 Google 地球中启动

圣诞岛上的螃蟹迁徙

全程跟踪红蟹迁徙,看它们从圣诞岛森林中爬出,浩浩荡荡前往海滩产卵。

在 Google 地球中启动

从太空阅读字母表

利用美国国家航空航天局卫星图像与航拍照片中的地球表面图像,拼出英文字母表。

在 Google 地球中启动

抓到神偷卡门

世界上最厉害的神偷重出江湖!请根据线索找到她!

在 Google 地球中启动

地球视图

探索 Google 地球中那些最神秘、最引人注目的风景。

在 Google 地球中启动

这就是我们的家

在街景中参观世界各地的传统住宅,了解“家”之定义中哪些要素在变化,哪些要素永恒不变。

在 Google 地球中启动

圣诞岛上的螃蟹迁徙

全程跟踪红蟹迁徙,看它们从圣诞岛森林中爬出,浩浩荡荡前往海滩产卵。

在 Google 地球中启动

从太空阅读字母表

利用美国国家航空航天局卫星图像与航拍照片中的地球表面图像,拼出英文字母表。

在 Google 地球中启动

在任何设备上体验 Google 地球

查看所有 Google 地球版本

Google 地球(网页版)

支持 Chrome(更多浏览器版本即将推出)。

Google 地球(移动版)

轻轻滑动指尖即可探索地球。支持 Android 和 iOS 设备。

Google 地球专业版(桌面版)

借助先进的工具在 PC、Mac 或 Linux 上制作地图。

使用 Google 地球讲述您的故事

看看这三位如何使用 Google 地球保护河流、激励学生并重游其出生的国度。

玩游戏

Google 地球的实际运用

印度扫盲项目与 Google 地球合作,带领孩子们在印度开展虚拟实地考察,认识自己身边的世界。

玩游戏

3D 图像背后的故事

Google 地球为我们居住的星球提供最逼真的数字实景图像。这些图像源于何处?如何组合在一起?多久更新一次?观看此视频,了解图像像素、图像平面,以及 Google 地球 3D 图像的制作者。

玩游戏

Geo for Good

2018 年,公益地图与技术专家齐聚加利福尼亚,共同探讨 Google 绘图工具,挥洒对造福地球的热忱。

玩游戏

Google 地球使用入门

Google 地球(移动版)使用入门

这里不仅有所有您喜爱的 Google 地球元素,更有探索、学习和分享的全新方式。放大来看看有什么冒险正等待着您。

启动 Google 地球

在 Apple App Store 中下载 Google 地球

在 Google Play 商店中下载 Google 地球

启动 Google 地球

Google 地球

Google 地球版本

资源

帮助和支持

Earth Studio

Earth Engine

Google 地球虚拟实境

Earth Outreach

YouTube

Facebook

Twitter

Blog

简介

隐私权和条款

العربية

Български

Català

Čeština

Dansk

Deutsch

Ελληνικά

English

English (United Kingdom)

English (India)

Español

Español (Latinoamérica)

فارسی

Suomi

Filipino

Français

עברית

हिन्दी

Hrvatski

Magyar

Indonesia

Italiano

日本語

한국어

Lietuvių

Latviešu

Melayu

Nederlands

Norsk bokmål

Polski

Português (Brasil)

Português (Portugal)

Română

Русский

Slovenčina

Slovenščina

Српски

Svenska

ไทย

Türkçe

Українська

Tiếng Việt

中文 (简体, 中国)

中文 (繁體,香港)

中文 (繁體, 台灣)

Select your language

街景服务  |  Maps JavaScript API  |  Google for Developers

街景服务  |  Maps JavaScript API  |  Google for Developers

Google

Maps Platform

概览

产品

定价

文档

开始使用

开始使用 Google Maps Platform

API 选择工具

结算与定价

报告与监控

地图 ID

常见问题解答

支持和资源

客户服务

突发事件管理

地图

Maps JavaScript API

Maps SDK for Android

Maps SDK for iOS

Maps Static API

Street View Static API

Maps Embed API

地图网址

Maps Elevation API

路线

Routes API

Roads API

Directions API

Distance Matrix API

解决方案

行业解决方案

Mobility 服务

地点

Places API

Places SDK for Android

Places SDK for iOS

Maps JavaScript API 地点库

Geocoding API

Geolocation API

Address Validation API

Time Zone API

其他资源

API 安全性最佳实践

地图覆盖范围详情

优化指南

移动操作系统和软件支持

发布阶段

弃用

资产跟踪方案

网址编码

WordPress 用户

博客

社区

Stack Overflow

GitHub

YouTube

Discord

Twitter

问题跟踪器

English

Deutsch

Español

Español – América Latina

Français

Indonesia

Italiano

Polski

Português – Brasil

Tiếng Việt

Türkçe

Русский

עברית

العربيّة

فارسی

हिंदी

বাংলা

ภาษาไทย

中文 – 简体

中文 – 繁體

日本語

한국어

Web

Maps JavaScript API

开始使用

联系销售团队

指南

参考信息

示例

支持

Google

Maps Platform

概览

产品

定价

文档

更多

指南

参考信息

示例

支持

博客

社区

更多

Maps JavaScript API

概览

设置您的 Google Cloud 项目

使用 API 密钥

加载 Maps JavaScript API

教程

所有教程

向网站添加带标记的 Google 地图

为标记划分聚类

实时协作绘制地图

显示当前位置

在地图中使用数据

显示 KML导入 JSON 数据直观呈现 JSON 数据合并 JSON 数据

概念

所有概念

地图类型

地图和图块坐标

将地图本地化

版本控制

最佳实践

使用 TypeScript

promise

管理标记标签冲突

自定义地图

使用云端地图样式设置进行自定义

概览地图样式编辑器演示管理地图样式使用缩放级别自定义地图注点行为自定义建筑物样式样式设置示例设计核对清单

使用 JSON 样式设置进行自定义

JSON 样式设置概览JSON 样式参考

自定义图例

与地图互动

控件

事件

控制缩放和平移

在地图上绘制

概览

高级标记(预览版)

概览开始使用创建默认的高级标记自定义基本标记创建带有图形的标记使用自定义 HTML 创建标记控制冲突行为和标记的可见性使标记可点击且可访问

标记

自定义标记

信息窗口

形状

符号

WebGL 功能

概览支持矢量地图倾斜与旋转WebGL 叠加层视图

Deck.gl 数据可视化

地面叠加层

自定义叠加层

显示数据

概览

数据驱动型样式(预览版)

概览开始使用设置边界多边形的样式制作分级着色地图处理点击事件使用 Region Lookup API将 Region Find API 与 Google 表格搭配使用使用 Geocoding API 和 Places API 来设置数据驱动型样式Google 边界覆盖范围

数据图层

热图

KML 和 GeoRSS

路况图层、公交图层和骑行图层

服务

路线

距离矩阵

海拔

地理编码

图像最大缩放级别

街景

概览

绘图库

几何图形库

Local Context Library(Beta 版)

概览使用入门设置 Local Context 选项和地图选项处理事件和用户互动刷新搜索属性设置 LocalContextMapView 的样式支持的地点类型将地图迁移到 LocalContextMapView

地点库

地点类(预览版)地点搜索和详情地点自动补全(新)(实验阶段)地点自动补全

可视化库

开源库

更多指南

内容安全政策指南

Google 加载器迁移指南

地点字段迁移(open_now、utc_offset)

地点数据字段

地点图标

地点 ID

地点类型

从 v2 升级到 v3

政策和条款

使用量和结算

报告与监控

服务条款

其他 API

Maps Static API

Street View Static API

Maps Embed API

地图网址

开始使用

开始使用 Google Maps Platform

API 选择工具

结算与定价

报告与监控

地图 ID

常见问题解答

支持和资源

客户服务

突发事件管理

地图

Maps JavaScript API

Maps SDK for Android

Maps SDK for iOS

Maps Static API

Street View Static API

Maps Embed API

地图网址

Maps Elevation API

路线

Routes API

Roads API

Directions API

Distance Matrix API

解决方案

行业解决方案

Mobility 服务

地点

Places API

Places SDK for Android

Places SDK for iOS

Maps JavaScript API 地点库

Geocoding API

Geolocation API

Address Validation API

Time Zone API

其他资源

API 安全性最佳实践

地图覆盖范围详情

优化指南

移动操作系统和软件支持

发布阶段

弃用

资产跟踪方案

网址编码

WordPress 用户

Stack Overflow

GitHub

YouTube

Discord

Twitter

问题跟踪器

首页

产品

Google Maps Platform

文档

Web

Maps JavaScript API

街景服务

概览

选择平台:

Android

iOS

JavaScript

另请参阅 Maps JavaScript API 参考文档:渲染、服务

Google 街景提供整个覆盖区域内以指定道路为中心的 360 度全景视图。街景的 API 覆盖范围与 Google 地图应用 (https://maps.google.com/) 的覆盖范围相同。要获取街景当前支持的城市列表,请访问 Google 地图网站。

注意:街景图像有两个来源:Google(开发者控制的非公开图像)和公众(公开的用户生成的内容,简称 UGC)。请注意,无法只使用其中一个街景图像来源。详细了解我们的街景图像隐私权政策。

以下显示了一个示例街景图像。

Maps JavaScript API 提供了街景服务,用于获取和处理 Google 地图街景中使用的图像。浏览器原生支持该街景服务。

街景地图使用

尽管街景可在独立 DOM 元素内使用,但其在表示地图上的位置时最有用。地图上会默认启用街景,并且街景小人控件会集成到导航(缩放和平移)控件中。您可以在地图的 MapOptions 中将 streetViewControl 设置为 false,以便隐藏该控件。您还可以通过将 Map 的 streetViewControlOptions.position 属性设置为新的 ControlPosition 来更改街景控件的默认位置。

借助街景小人控件,您可以直接在地图内查看街景全景图片。当用户点击并按住街景小人时,地图会进行更新,在支持街景的街道周围显示蓝色轮廓,从而带来与 Google 地图应用类似的用户体验。

用户在街道上放置街景小人标记时,地图也会进行更新,以显示所指示位置的街景全景图片。

街景全景图片

注意:我们仅针对使用 StreetViewPanorama 对象生成的街景全景图片收费。基于街景小人控件和 StreetViewService 获得的内置街景体验不会产生费用。如需了解详情,请参阅定价。

通过使用 StreetViewPanorama 对象可支持街景图像,该对象提供了街景“查看器”的 API 接口。每张地图均包含一幅默认的街景全景图片,您可以通过调用地图的 getStreetView() 方法对其进行检索。当您通过将地图的 streetViewControl 选项设置为 true 在地图上添加街景控件时,会自动将街景小人控件与此默认街景全景图片相关联。

您也可以创建自己的 StreetViewPanorama 对象,然后将地图的 streetView 属性显式设置为该构造对象,从而将地图设置为使用该对象而非默认的街景全景图片。如果您想修改默认行为,例如在地图和全景图片之间自动共享叠加层,则可能希望覆盖默认全景图片。(请参阅下文的街景内的叠加层)。

街景容器

您也可能希望在单独的 DOM 元素(通常为

元素)内显示 StreetViewPanorama。只需在 StreetViewPanorama 的构造函数内传递相应 DOM 元素即可实现此目的。要想获得最佳图像显示效果,我们建议的最小图像尺寸为 200x200 像素。

注意:尽管街景功能设计为与地图结合使用,但这并非强制性要求。您也可以在不使用地图的情况下独立使用街景对象。

街景位置和视角 (POV)

StreetViewPanorama 构造函数还可让您使用 StreetViewOptions 参数设置街景位置和视角。您可以在构造完成后对该对象调用

setPosition() 和 setPov() 来更改其位置和 POV。

街景位置会定义图像的相机焦点位置,但不会定义该图像的相机朝向。为此,StreetViewPov 对象会定义以下两个属性:

heading(默认值为 0),以相对于正北方的度数定义以相机所在地为中心的旋转角度。方位按顺时针进行测量(90 度表示正东)。

pitch(默认值为 0),定义与相机初始默认倾斜度的“向上”或“向下”角度差值。相机的初始默认倾斜度通常(但并不总是)为水平。(例如,在山上拍摄的图像可能会呈现出非水平的默认倾斜度。)当相机仰视时,测量出的倾斜角度为正值(最大 +90 度,表示垂直向上,与默认倾斜度正交);当相机俯视时,测量出的倾斜角度为负值(最大 -90 度,表示垂直向下,与默认间距正交)。

StreetViewPov 对象最常用于确定街景相机的视角。您还可通过 StreetViewPanorama.getPhotographerPov() 方法确定拍摄者的视角,该视角通常是汽车或街景三轮车所面向的方向。

以下代码将显示一张初始视角为芬威球场的波士顿地图。选择街景小人并将其拖放到地图上某个支持的位置可更改街景全景图片:

TypeScript

function initialize() {

const fenway = { lat: 42.345573, lng: -71.098326 };

const map = new google.maps.Map(

document.getElementById("map") as HTMLElement,

{

center: fenway,

zoom: 14,

}

);

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("pano") as HTMLElement,

{

position: fenway,

pov: {

heading: 34,

pitch: 10,

},

}

);

map.setStreetView(panorama);

}

declare global {

interface Window {

initialize: () => void;

}

}

window.initialize = initialize;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

function initialize() {

const fenway = { lat: 42.345573, lng: -71.098326 };

const map = new google.maps.Map(document.getElementById("map"), {

center: fenway,

zoom: 14,

});

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("pano"),

{

position: fenway,

pov: {

heading: 34,

pitch: 10,

},

}

);

map.setStreetView(panorama);

}

window.initialize = initialize;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

#map,

#pano {

float: left;

height: 100%;

width: 50%;

}

style.css

HTML

Street View split-map-panes

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initialize&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

移动设备上的动作跟踪功能

在支持设备屏幕方向事件的设备上,用户可以通过 API 随设备的移动改变街景视角。用户可通过移动设备环视四周。这叫做动作跟踪或设备旋转跟踪。

作为应用开发者,您可以按照以下方式更改默认行为:

启用或停用动作跟踪功能。默认情况下,在任何支持动作跟踪的设备上,该功能都处于启用状态。以下示例将停用动作跟踪,但仍使动作跟踪控件保持可见状态。(请注意,用户可通过点按动作跟踪控件启用该功能。)

var panorama = new google.maps.StreetViewPanorama(

document.getElementById('pano'), {

position: {lat: 37.869260, lng: -122.254811},

pov: {heading: 165, pitch: 0},

motionTracking: false

});

隐藏或显示动作跟踪控件。默认情况下,支持动作跟踪的设备上会显示该控件。用户可以点按该控件来开启或关闭动作跟踪功能。请注意,如果设备不支持动作跟踪,无论 motionTrackingControl 的值是什么,该控件都不会显示。

以下示例将同时停用动作跟踪功能和动作跟踪控件。在此情况下,用户无法开启动作跟踪功能:

var panorama = new google.maps.StreetViewPanorama(

document.getElementById('pano'), {

position: {lat: 37.869260, lng: -122.254811},

pov: {heading: 165, pitch: 0},

motionTracking: false,

motionTrackingControl: false

});

更改动作跟踪控件的默认位置。默认情况下,该控件会显示在靠近全景图片右下角(位置 RIGHT_BOTTOM)的位置。以下示例会将控件的位置设置成左下角:

var panorama = new google.maps.StreetViewPanorama(

document.getElementById('pano'), {

position: {lat: 37.869260, lng: -122.254811},

pov: {heading: 165, pitch: 0},

motionTrackingControlOptions: {

position: google.maps.ControlPosition.LEFT_BOTTOM

}

});

要了解动作跟踪的实用效果,请在移动设备(或任何支持设备屏幕方向事件的设备)上查看以下示例:

查看示例

街景内的叠加层

默认的 StreetViewPanorama 对象支持在本地显示地图叠加层。叠加层通常在“街道级别”显示,并锚定在 LatLng 位置。(例如,显示标记时,其尾部会锚定于街景全景图片内相应位置的水平面。)

目前,街景全景图片支持的叠加层类型仅限于 Marker、InfoWindow 和自定义 OverlayView。您在地图上显示的叠加层可显示在街景全景图片上,方法是将全景图片视为 Map 对象的替代项,调用 setMap(),并以参数形式传递 StreetViewPanorama(而非地图)。同样,通过调用 open(),然后传递 StreetViewPanorama() 而不是地图,也可以在街景全景图片中打开信息窗口。

此外,在创建使用默认 StreetViewPanorama 的地图时,只要与地图关联的街景全景图片可见,则在地图上创建的任何标记都会自动与其共享。要检索默认街景全景图片,请对 Map 对象调用 getStreetView()。请注意,如果您将地图的 streetView 属性显式设置为您自己构造的 StreetViewPanorama,则会覆盖默认全景图片。

以下示例将显示一些标记,用于表示纽约市阿斯特广场周围的不同位置。将显示画面切换到街景可显示 StreetViewPanorama 内显示的共享标记。

TypeScript

let panorama: google.maps.StreetViewPanorama;

function initMap(): void {

const astorPlace = { lat: 40.729884, lng: -73.990988 };

// Set up the map

const map = new google.maps.Map(

document.getElementById("map") as HTMLElement,

{

center: astorPlace,

zoom: 18,

streetViewControl: false,

}

);

document

.getElementById("toggle")!

.addEventListener("click", toggleStreetView);

// Set up the markers on the map

const cafeMarker = new google.maps.Marker({

position: { lat: 40.730031, lng: -73.991428 },

map,

icon: "https://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=cafe|FFFF00",

title: "Cafe",

});

const bankMarker = new google.maps.Marker({

position: { lat: 40.729681, lng: -73.991138 },

map,

icon: "https://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=dollar|FFFF00",

title: "Bank",

});

const busMarker = new google.maps.Marker({

position: { lat: 40.729559, lng: -73.990741 },

map,

icon: "https://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=bus|FFFF00",

title: "Bus Stop",

});

// We get the map's default panorama and set up some defaults.

// Note that we don't yet set it visible.

panorama = map.getStreetView()!; // TODO fix type

panorama.setPosition(astorPlace);

panorama.setPov(

/** @type {google.maps.StreetViewPov} */ {

heading: 265,

pitch: 0,

}

);

}

function toggleStreetView(): void {

const toggle = panorama.getVisible();

if (toggle == false) {

panorama.setVisible(true);

} else {

panorama.setVisible(false);

}

}

declare global {

interface Window {

initMap: () => void;

}

}

window.initMap = initMap;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

let panorama;

function initMap() {

const astorPlace = { lat: 40.729884, lng: -73.990988 };

// Set up the map

const map = new google.maps.Map(document.getElementById("map"), {

center: astorPlace,

zoom: 18,

streetViewControl: false,

});

document.getElementById("toggle").addEventListener("click", toggleStreetView);

// Set up the markers on the map

const cafeMarker = new google.maps.Marker({

position: { lat: 40.730031, lng: -73.991428 },

map,

icon: "https://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=cafe|FFFF00",

title: "Cafe",

});

const bankMarker = new google.maps.Marker({

position: { lat: 40.729681, lng: -73.991138 },

map,

icon: "https://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=dollar|FFFF00",

title: "Bank",

});

const busMarker = new google.maps.Marker({

position: { lat: 40.729559, lng: -73.990741 },

map,

icon: "https://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=bus|FFFF00",

title: "Bus Stop",

});

// We get the map's default panorama and set up some defaults.

// Note that we don't yet set it visible.

panorama = map.getStreetView(); // TODO fix type

panorama.setPosition(astorPlace);

panorama.setPov(

/** @type {google.maps.StreetViewPov} */ {

heading: 265,

pitch: 0,

}

);

}

function toggleStreetView() {

const toggle = panorama.getVisible();

if (toggle == false) {

panorama.setVisible(true);

} else {

panorama.setVisible(false);

}

}

window.initMap = initMap;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

/*

* Always set the map height explicitly to define the size of the div element

* that contains the map.

*/

#map {

height: 100%;

}

/*

* Optional: Makes the sample page fill the window.

*/

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

#floating-panel {

position: absolute;

top: 10px;

left: 25%;

z-index: 5;

background-color: #fff;

padding: 5px;

border: 1px solid #999;

text-align: center;

font-family: "Roboto", "sans-serif";

line-height: 30px;

padding-left: 10px;

}

#floating-panel {

margin-left: -100px;

}

style.css

HTML

Overlays Within Street View

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

街景事件

在街景之间导航或操纵其朝向时,您可能希望监控指示 StreetViewPanorama 状态变化的若干事件:

pano_changed,在单个全景图片 ID 发生改变时触发。此事件不能保证触发此事件时全景图片内的任何关联数据(如链接)也发生了改变;此事件仅表示全景图片 ID 发生了改变。请注意,全景图片 ID(可用于引用相应全景图片)只在当前浏览器会话内保持稳定。

position_changed,在全景图片的底层 (LatLng) 位置发生改变时触发。旋转全景图片不会触发此事件。请注意,您可以在不改变关联全景图片 ID 的情况下改变全景图片的底层位置,因为 API 会自动将距离最近的全景图片 ID 与全景图片的位置关联。

pov_changed,在街景的 StreetViewPov 发生改变时触发。请注意,此事件可能会在位置和全景图片 ID 均保持稳定的情况下触发。

links_changed,在街景的链接发生改变时触发。请注意,此事件可能会在 pano_changed 指示全景图片 ID 发生改变后异步触发。

visible_changed,在街景的可见性发生改变时触发。请注意,此事件可能会在 pano_changed 指示全景图片 ID 发生改变后异步触发。

以下代码展示了如何处理这些事件以收集关于底层 StreetViewPanorama 的数据:

TypeScript

function initPano() {

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("pano") as HTMLElement,

{

position: { lat: 37.869, lng: -122.255 },

pov: {

heading: 270,

pitch: 0,

},

visible: true,

}

);

panorama.addListener("pano_changed", () => {

const panoCell = document.getElementById("pano-cell") as HTMLElement;

panoCell.innerHTML = panorama.getPano();

});

panorama.addListener("links_changed", () => {

const linksTable = document.getElementById("links_table") as HTMLElement;

while (linksTable.hasChildNodes()) {

linksTable.removeChild(linksTable.lastChild as ChildNode);

}

const links = panorama.getLinks();

for (const i in links) {

const row = document.createElement("tr");

linksTable.appendChild(row);

const labelCell = document.createElement("td");

labelCell.innerHTML = "Link: " + i + "";

const valueCell = document.createElement("td");

valueCell.innerHTML = links[i].description as string;

linksTable.appendChild(labelCell);

linksTable.appendChild(valueCell);

}

});

panorama.addListener("position_changed", () => {

const positionCell = document.getElementById(

"position-cell"

) as HTMLElement;

(positionCell.firstChild as HTMLElement).nodeValue =

panorama.getPosition() + "";

});

panorama.addListener("pov_changed", () => {

const headingCell = document.getElementById("heading-cell") as HTMLElement;

const pitchCell = document.getElementById("pitch-cell") as HTMLElement;

(headingCell.firstChild as HTMLElement).nodeValue =

panorama.getPov().heading + "";

(pitchCell.firstChild as HTMLElement).nodeValue =

panorama.getPov().pitch + "";

});

}

declare global {

interface Window {

initPano: () => void;

}

}

window.initPano = initPano;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

function initPano() {

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("pano"),

{

position: { lat: 37.869, lng: -122.255 },

pov: {

heading: 270,

pitch: 0,

},

visible: true,

}

);

panorama.addListener("pano_changed", () => {

const panoCell = document.getElementById("pano-cell");

panoCell.innerHTML = panorama.getPano();

});

panorama.addListener("links_changed", () => {

const linksTable = document.getElementById("links_table");

while (linksTable.hasChildNodes()) {

linksTable.removeChild(linksTable.lastChild);

}

const links = panorama.getLinks();

for (const i in links) {

const row = document.createElement("tr");

linksTable.appendChild(row);

const labelCell = document.createElement("td");

labelCell.innerHTML = "Link: " + i + "";

const valueCell = document.createElement("td");

valueCell.innerHTML = links[i].description;

linksTable.appendChild(labelCell);

linksTable.appendChild(valueCell);

}

});

panorama.addListener("position_changed", () => {

const positionCell = document.getElementById("position-cell");

positionCell.firstChild.nodeValue = panorama.getPosition() + "";

});

panorama.addListener("pov_changed", () => {

const headingCell = document.getElementById("heading-cell");

const pitchCell = document.getElementById("pitch-cell");

headingCell.firstChild.nodeValue = panorama.getPov().heading + "";

pitchCell.firstChild.nodeValue = panorama.getPov().pitch + "";

});

}

window.initPano = initPano;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

/*

* Always set the map height explicitly to define the size of the div element

* that contains the map.

*/

#map {

height: 100%;

}

/*

* Optional: Makes the sample page fill the window.

*/

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

#floating-panel {

position: absolute;

top: 10px;

left: 25%;

z-index: 5;

background-color: #fff;

padding: 5px;

border: 1px solid #999;

text-align: center;

font-family: "Roboto", "sans-serif";

line-height: 30px;

padding-left: 10px;

}

#pano {

width: 50%;

height: 100%;

float: left;

}

#floating-panel {

width: 45%;

height: 100%;

float: right;

text-align: left;

overflow: auto;

position: static;

border: 0px solid #999;

}

style.css

HTML

Street View Events

Position 
POV Heading270
POV Pitch0.0
Pano ID 

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initPano&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

街景控件

当显示 StreetViewPanorama 时,全景图片上会默认显示各种控件。您可以通过将 StreetViewPanoramaOptions 中的相应字段设置为 true 或 false 来启用或停用这些控件:

panControl,可用于旋转全景图片。默认情况下,此控件显示为标准集成式罗盘和平移控件。您可以通过在 panControlOptions 字段内提供 PanControlOptions 来更改该控件的位置。

zoomControl,可用于在图像内进行缩放。默认情况下,此控件显示在靠近全景图片右下角的位置。您可以通过在 zoomControlOptions 字段内提供 ZoomControlOptions 来更改该控件的外观。

addressControl,可提供表示关联位置地址的文本叠加层,并提供在 Google 地图中打开该位置的链接。您可以通过在 addressControlOptions 字段内提供 StreetViewAddressControlOptions 来更改该控件的外观。

fullscreenControl,可提供以全屏模式打开街景的选项。您可以通过在 fullscreenControlOptions 字段内提供 FullscreenControlOptions 来更改该控件的外观。

motionTrackingControl,可提供用于在移动设备上启用或停用动作跟踪的选项。该控件只会出现在支持设备屏幕方向事件的设备上。默认情况下,该控件显示在靠近全景图片右下角的位置。您可以通过提供 MotionTrackingControlOptions 来更改该控件的位置。如需了解详情,请参阅有关动作跟踪的部分。

linksControl,可在图像上提供用于切换到相邻全景图像的指示箭头。

Close 控件,允许用户关闭街景查看器。您可以通过将 enableCloseButton 设置为 true 或 false 来启用或停用 Close 控件。

以下示例将更改关联街景内显示的控件并移除该视图的链接:

TypeScript

function initPano() {

// Note: constructed panorama objects have visible: true

// set by default.

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("map") as HTMLElement,

{

position: { lat: 42.345573, lng: -71.098326 },

addressControlOptions: {

position: google.maps.ControlPosition.BOTTOM_CENTER,

},

linksControl: false,

panControl: false,

enableCloseButton: false,

}

);

}

declare global {

interface Window {

initPano: () => void;

}

}

window.initPano = initPano;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

function initPano() {

// Note: constructed panorama objects have visible: true

// set by default.

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("map"),

{

position: { lat: 42.345573, lng: -71.098326 },

addressControlOptions: {

position: google.maps.ControlPosition.BOTTOM_CENTER,

},

linksControl: false,

panControl: false,

enableCloseButton: false,

}

);

}

window.initPano = initPano;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

/*

* Always set the map height explicitly to define the size of the div element

* that contains the map.

*/

#map {

height: 100%;

}

/*

* Optional: Makes the sample page fill the window.

*/

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

style.css

HTML

Street View Controls

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initPano&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

直接访问街景数据

您可能希望以编程方式确定街景数据的可用性,或返回有关特定全景图片的信息,而无需直接处理地图/全景图片。您可以使用 StreetViewService 对象来实现此目的,该对象提供了一个连接 Google 街景服务内所存储数据的接口。

街景服务请求

由于 Google Maps API 需要调用外部服务器,因此对街景服务的访问是异步进行的。因此,您需要传递一个回调方法,以便在请求完成时执行。该回调方法会对结果进行处理。

您可以使用 StreetViewPanoRequest 或 StreetViewLocationRequest 向 StreetViewService 发出请求。

如果指定了可唯一标识全景图片的参考 ID,使用 StreetViewPanoRequest 的请求会返回相应的全景图片数据。请注意,这些参考 ID 仅在该全景图像的生命周期内保持稳定。

使用 StreetViewLocationRequest 的请求会使用以下参数在指定位置搜索全景图片数据:

location,用于指定搜索全景图片的位置(纬度和经度)。

preference,用于设置偏好设置,确定应在半径范围内查找怎样的全景图片:离指定位置最近的全景图片,还是半径范围内最好的全景图片。

radius,用于设置半径,以米为单位,以指定的纬度和经度为中心按该半径搜索全景图片。如果未提供该参数,则默认为 50。

source,用于指定要搜索的全景图片来源。有效值为:

default,使用默认街景来源;搜索不限于特定来源。

outdoor,仅搜索室外全景图片。请注意,指定位置可能不存在室外全景图片。

街景服务响应

函数 getPanorama() 需要一个在通过街景服务检索到结果后执行的回调函数。此回调函数会按照先数据后代码的顺序返回 StreetViewPanoramaData 对象内的一组全景图片数据,以及一个表示请求状态的 StreetViewStatus 代码。

StreetViewPanoramaData 对象规范包含关于街景全景图片的元数据,具体形式如下:

{

"location": {

"latLng": LatLng,

"description": string,

"pano": string

},

"copyright": string,

"links": [{

"heading": number,

"description": string,

"pano": string,

"roadColor": string,

"roadOpacity": number

}],

"tiles": {

"worldSize": Size,

"tileSize": Size,

"centerHeading": number

}

}

请注意,此数据对象本身并不是 StreetViewPanorama 对象。要使用此数据创建一个街景对象,您需要创建一个 StreetViewPanorama 并调用 setPano(),然后向其传递返回的 location.pano 字段中注明的 ID。

status 代码可能会返回以下某个值:

OK,表示服务找到了匹配的全景图片。

ZERO_RESULTS,表示服务无法找到与传递的标准相匹配的全景图片。

UNKNOWN_ERROR,表示无法处理街景请求,但具体原因未知。

以下代码将创建一个 StreetViewService,它通过创建标记来响应用户在地图上的点击。用户点击该标记时,系统会显示该位置的 StreetViewPanorama。该代码会使用从服务返回的 StreetViewPanoramaData 的内容。

TypeScript

/*

* Click the map to set a new location for the Street View camera.

*/

let map: google.maps.Map;

let panorama: google.maps.StreetViewPanorama;

function initMap(): void {

const berkeley = { lat: 37.869085, lng: -122.254775 };

const sv = new google.maps.StreetViewService();

panorama = new google.maps.StreetViewPanorama(

document.getElementById("pano") as HTMLElement

);

// Set up the map.

map = new google.maps.Map(document.getElementById("map") as HTMLElement, {

center: berkeley,

zoom: 16,

streetViewControl: false,

});

// Set the initial Street View camera to the center of the map

sv.getPanorama({ location: berkeley, radius: 50 }).then(processSVData);

// Look for a nearby Street View panorama when the map is clicked.

// getPanorama will return the nearest pano when the given

// radius is 50 meters or less.

map.addListener("click", (event) => {

sv.getPanorama({ location: event.latLng, radius: 50 })

.then(processSVData)

.catch((e) =>

console.error("Street View data not found for this location.")

);

});

}

function processSVData({ data }: google.maps.StreetViewResponse) {

const location = data.location!;

const marker = new google.maps.Marker({

position: location.latLng,

map,

title: location.description,

});

panorama.setPano(location.pano as string);

panorama.setPov({

heading: 270,

pitch: 0,

});

panorama.setVisible(true);

marker.addListener("click", () => {

const markerPanoID = location.pano;

// Set the Pano to use the passed panoID.

panorama.setPano(markerPanoID as string);

panorama.setPov({

heading: 270,

pitch: 0,

});

panorama.setVisible(true);

});

}

declare global {

interface Window {

initMap: () => void;

}

}

window.initMap = initMap;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

/*

* Click the map to set a new location for the Street View camera.

*/

let map;

let panorama;

function initMap() {

const berkeley = { lat: 37.869085, lng: -122.254775 };

const sv = new google.maps.StreetViewService();

panorama = new google.maps.StreetViewPanorama(

document.getElementById("pano")

);

// Set up the map.

map = new google.maps.Map(document.getElementById("map"), {

center: berkeley,

zoom: 16,

streetViewControl: false,

});

// Set the initial Street View camera to the center of the map

sv.getPanorama({ location: berkeley, radius: 50 }).then(processSVData);

// Look for a nearby Street View panorama when the map is clicked.

// getPanorama will return the nearest pano when the given

// radius is 50 meters or less.

map.addListener("click", (event) => {

sv.getPanorama({ location: event.latLng, radius: 50 })

.then(processSVData)

.catch((e) =>

console.error("Street View data not found for this location.")

);

});

}

function processSVData({ data }) {

const location = data.location;

const marker = new google.maps.Marker({

position: location.latLng,

map,

title: location.description,

});

panorama.setPano(location.pano);

panorama.setPov({

heading: 270,

pitch: 0,

});

panorama.setVisible(true);

marker.addListener("click", () => {

const markerPanoID = location.pano;

// Set the Pano to use the passed panoID.

panorama.setPano(markerPanoID);

panorama.setPov({

heading: 270,

pitch: 0,

});

panorama.setVisible(true);

});

}

window.initMap = initMap;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

/*

* Always set the map height explicitly to define the size of the div element

* that contains the map.

*/

#map {

height: 100%;

}

/*

* Optional: Makes the sample page fill the window.

*/

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

style.css

HTML

Directly Accessing Street View Data

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

提供自定义街景全景图片

Maps JavaScript API 支持在 StreetViewPanorama 对象内显示自定义全景图片。您可以利用自定义全景图片显示建筑内部、景点视图或任何您想像的内容。您甚至可以将这些自定义全景图片与 Google 的现有街景全景图片链接起来。

设置一组自定义全景图像涉及下列步骤:

为每幅自定义全景图片创建一幅基础全景图像。此基础图像使用的分辨率应为您想提供的放大图像的最高分辨率。

(可选但并非建议步骤)根据基础图像创建一组不同缩放级别下的全景图片图块。

创建自定义全景图片之间的链接。

(可选)在 Google 现有的街景图像内指定“入口”全景图片,并自定义自定义组与标准组之间的双向链接。

在 StreetViewPanoramaData 对象内定义每幅全景图像的元数据。

实现用于确定自定义全景图片数据和图像的方法,并在 StreetViewPanorama 对象内将该方法指定为自定义处理程序。

下文对此过程做了说明。

创建自定义全景图片

每幅街景全景图片都是一幅或一组图像,提供以单个位置为中心的 360 度全景视图。StreetViewPanorama 对象使用遵照等距柱状 (Plate Carrée) 投影的图像。此类投影包含 360 度水平视图(完整环绕一周)和 180 度垂直视图(从直上至直下)。这样的视野会导致图像的宽高比为 2:1。下方显示了一幅完整环绕一周的全景图片。

一般来说,要制作全景图像,您需要在一个位置拍摄多张照片,然后使用全景图片软件将这些照片拼接到一起。(如需了解详情,请参阅维基百科的照片拼接应用比较)。此类图像的“相机”位置(即拍摄每一幅全景图像的位置)应该相同。这样,生成的 360 度全景图片便可定义一个球面投影,其图像环绕在球面的二维表面上。

将全景图片视为采用直线坐标系的球面投影有助于将图像分解成直线图块,以及根据计算的图块坐标提供图像。

创建自定义全景图片图块

街景还支持利用缩放控件实现不同的图像详细程度,该控件允许您基于默认视图进行缩放。街景一般可为任何给定全景图像提供五种级别的缩放分辨率。如果您所有的缩放级别都采用一幅全景图像,那么该图像要么过大,这样会显著降低您应用的速度;要么在较高缩放级别下分辨率不佳,只能提供低像素图像。但幸运的是,我们可以在不同缩放级别下使用与提供 Google 地图图块时所用相似的设计模式,为各缩放级别下的全景图片提供分辨率适当的图像。

当 StreetViewPanorama 首次加载时,其默认显示的图像包括缩放级别为 1 的全景图片水平宽度的 25%(90 度圆弧)。此视野大致与人的正常视野一致。在此默认视野基础上“缩小”实质上是将圆弧变大,而放大则会将视野缩窄为更小的圆弧。StreetViewPanorama 会自动计算与所选缩放级别相适的视野,然后通过选择与水平视野尺寸大致相同的图块集,选择最适合该分辨率的图像。以下是视野与街景缩放级别的对应关系:

街景缩放级别

视野(度)

0

180

1(默认值)

90

2

45

3

22.5

4

11.25

请注意,街景内显示的图像尺寸完全取决于街景容器的屏幕尺寸(宽度)。如果您提供的容器较宽,服务仍会为任何给定缩放级别提供相同的视野,但可能会改为选择更适合该分辨率的图块。

由于每一幅全景图片都包括一个等距柱状投影,因此创建全景图片图块相对容易。由于投影提供的图像宽高比为 2:1,因此具有 2:1 宽高比的图块更便于使用,但方形图块可以在方形地图上带来更好的效果(因为视野将是方形的)。

对于宽高比为 2:1 的图块,一幅囊括整个全景图片的图像代表了缩放级别为 0 的整个全景图片“世界”(基础图像),缩放级别每提高一级,zoomLevel 图块就增加 4 个。(例如,当缩放级别为 2 时,整个全景图片包括 16 个图块。)注意:街景图块处理所使用的缩放级别并不直接对应于使用街景控件时提供的缩放级别;相反,街景控件缩放级别会选择一个视野 (FoV),然后系统再根据该视野选择合适的图块。

通常,您需要为图像图块命名,以便以编程方式选择它们。有关此类命名方案的介绍,请参阅下面的处理自定义全景图片请求。

处理自定义全景图片请求

要使用自定义全景图片,请调用 StreetViewPanorama.registerPanoProvider(),并指定自定义全景图片提供程序方法的名称。全景图片提供程序方法必须返回一个 StreetViewPanoramaData 对象,并具有以下签名:

Function(pano):StreetViewPanoramaData

StreetViewPanoramaData 对象的形式如下:

{

copyright: string,

location: {

description: string,

latLng: google.maps.LatLng,

pano: string

},

tiles: {

tileSize: google.maps.Size,

worldSize: google.maps.Size,

heading: number,

getTileUrl: Function

},

links: [

description: string,

heading: number,

pano: string,

roadColor: string,

roadOpacity: number

]

}

按如下所示显示自定义全景图片:

将 StreetViewPanoramaOptions.pano 属性设置为自定义值。

调用 StreetViewPanorama.registerPanoProvider(),以提供自定义全景图片提供程序函数。

实现自定义全景图片提供程序函数,以便处理指定的 pano 值。

构造一个 StreetViewPanoramaData 对象。

将 StreetViewTileData.getTileUrl 属性设置为您提供的自定义图块提供程序函数的名称。例如 getCustomPanoramaTileUrl。

实现您的自定义图块提供程序函数,如以下示例所示。

返回 StreetViewPanoramaData 对象。

注意:如果您希望显示自定义全景图片,请不要直接在 StreetViewPanorama 上设置 position,因为此类位置将会指示街景服务请求靠近该位置的默认街景图像。请改为在自定义 StreetViewPanoramaData 对象的 location.latLng 字段中设置此位置。

以下示例将显示 Google 悉尼分公司的自定义全景图片。请注意,此示例未使用地图或默认街景图像:

TypeScript

function initPano() {

// Set up Street View and initially set it visible. Register the

// custom panorama provider function. Set the StreetView to display

// the custom panorama 'reception' which we check for below.

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("map") as HTMLElement,

{ pano: "reception", visible: true }

);

panorama.registerPanoProvider(getCustomPanorama);

}

// Return a pano image given the panoID.

function getCustomPanoramaTileUrl(

pano: string,

zoom: number,

tileX: number,

tileY: number

): string {

return (

"https://developers.google.com/maps/documentation/javascript/examples/full/images/" +

"panoReception1024-" +

zoom +

"-" +

tileX +

"-" +

tileY +

".jpg"

);

}

// Construct the appropriate StreetViewPanoramaData given

// the passed pano IDs.

function getCustomPanorama(pano: string): google.maps.StreetViewPanoramaData {

if (pano === "reception") {

return {

location: {

pano: "reception",

description: "Google Sydney - Reception",

},

links: [],

// The text for the copyright control.

copyright: "Imagery (c) 2010 Google",

// The definition of the tiles for this panorama.

tiles: {

tileSize: new google.maps.Size(1024, 512),

worldSize: new google.maps.Size(2048, 1024),

// The heading in degrees at the origin of the panorama

// tile set.

centerHeading: 105,

getTileUrl: getCustomPanoramaTileUrl,

},

};

}

// @ts-ignore TODO fix typings

return null;

}

declare global {

interface Window {

initPano: () => void;

}

}

window.initPano = initPano;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

function initPano() {

// Set up Street View and initially set it visible. Register the

// custom panorama provider function. Set the StreetView to display

// the custom panorama 'reception' which we check for below.

const panorama = new google.maps.StreetViewPanorama(

document.getElementById("map"),

{ pano: "reception", visible: true }

);

panorama.registerPanoProvider(getCustomPanorama);

}

// Return a pano image given the panoID.

function getCustomPanoramaTileUrl(pano, zoom, tileX, tileY) {

return (

"https://developers.google.com/maps/documentation/javascript/examples/full/images/" +

"panoReception1024-" +

zoom +

"-" +

tileX +

"-" +

tileY +

".jpg"

);

}

// Construct the appropriate StreetViewPanoramaData given

// the passed pano IDs.

function getCustomPanorama(pano) {

if (pano === "reception") {

return {

location: {

pano: "reception",

description: "Google Sydney - Reception",

},

links: [],

// The text for the copyright control.

copyright: "Imagery (c) 2010 Google",

// The definition of the tiles for this panorama.

tiles: {

tileSize: new google.maps.Size(1024, 512),

worldSize: new google.maps.Size(2048, 1024),

// The heading in degrees at the origin of the panorama

// tile set.

centerHeading: 105,

getTileUrl: getCustomPanoramaTileUrl,

},

};

}

// @ts-ignore TODO fix typings

return null;

}

window.initPano = initPano;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

/*

* Always set the map height explicitly to define the size of the div element

* that contains the map.

*/

#map {

height: 100%;

}

/*

* Optional: Makes the sample page fill the window.

*/

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

style.css

HTML

Custom Street View Panoramas

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initPano&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

自定义全景图片提供程序会根据所传递的全景图片 ID、缩放级别和全景图片图块坐标返回合适的图块。由于图像选择取决于这些传递的值,因此根据这些传递的值对可以编程方式选择的图像命名(如 pano_zoom_tileX_tileY.png)很有帮助。

除默认街景导航箭头外,以下示例将为图像额外添加一个箭头,该箭头指向 Google 悉尼分公司并链接到自定义图像:

TypeScript

let panorama: google.maps.StreetViewPanorama;

// StreetViewPanoramaData of a panorama just outside the Google Sydney office.

let outsideGoogle: google.maps.StreetViewPanoramaData;

// StreetViewPanoramaData for a custom panorama: the Google Sydney reception.

function getReceptionPanoramaData(): google.maps.StreetViewPanoramaData {

return {

location: {

pano: "reception", // The ID for this custom panorama.

description: "Google Sydney - Reception",

latLng: new google.maps.LatLng(-33.86684, 151.19583),

},

links: [

{

heading: 195,

description: "Exit",

pano: (outsideGoogle.location as google.maps.StreetViewLocation).pano,

},

],

copyright: "Imagery (c) 2010 Google",

tiles: {

tileSize: new google.maps.Size(1024, 512),

worldSize: new google.maps.Size(2048, 1024),

centerHeading: 105,

getTileUrl: function (

pano: string,

zoom: number,

tileX: number,

tileY: number

): string {

return (

"https://developers.google.com/maps/documentation/javascript/examples/full/images/" +

"panoReception1024-" +

zoom +

"-" +

tileX +

"-" +

tileY +

".jpg"

);

},

},

};

}

function initPanorama() {

panorama = new google.maps.StreetViewPanorama(

document.getElementById("street-view") as HTMLElement,

{ pano: (outsideGoogle.location as google.maps.StreetViewLocation).pano }

);

// Register a provider for the custom panorama.

panorama.registerPanoProvider(

(pano: string): google.maps.StreetViewPanoramaData => {

if (pano === "reception") {

return getReceptionPanoramaData();

}

// @ts-ignore TODO fix typings

return null;

}

);

// Add a link to our custom panorama from outside the Google Sydney office.

panorama.addListener("links_changed", () => {

if (

panorama.getPano() ===

(outsideGoogle.location as google.maps.StreetViewLocation).pano

) {

panorama.getLinks().push({

description: "Google Sydney",

heading: 25,

pano: "reception",

});

}

});

}

function initMap(): void {

// Use the Street View service to find a pano ID on Pirrama Rd, outside the

// Google office.

new google.maps.StreetViewService()

.getPanorama({ location: { lat: -33.867386, lng: 151.195767 } })

.then(({ data }: google.maps.StreetViewResponse) => {

outsideGoogle = data;

initPanorama();

});

}

declare global {

interface Window {

initMap: () => void;

}

}

window.initMap = initMap;index.ts

注意:请参阅 TypeScript 和 Google 地图的使用方法指南。

JavaScript

let panorama;

// StreetViewPanoramaData of a panorama just outside the Google Sydney office.

let outsideGoogle;

// StreetViewPanoramaData for a custom panorama: the Google Sydney reception.

function getReceptionPanoramaData() {

return {

location: {

pano: "reception",

description: "Google Sydney - Reception",

latLng: new google.maps.LatLng(-33.86684, 151.19583),

},

links: [

{

heading: 195,

description: "Exit",

pano: outsideGoogle.location.pano,

},

],

copyright: "Imagery (c) 2010 Google",

tiles: {

tileSize: new google.maps.Size(1024, 512),

worldSize: new google.maps.Size(2048, 1024),

centerHeading: 105,

getTileUrl: function (pano, zoom, tileX, tileY) {

return (

"https://developers.google.com/maps/documentation/javascript/examples/full/images/" +

"panoReception1024-" +

zoom +

"-" +

tileX +

"-" +

tileY +

".jpg"

);

},

},

};

}

function initPanorama() {

panorama = new google.maps.StreetViewPanorama(

document.getElementById("street-view"),

{ pano: outsideGoogle.location.pano }

);

// Register a provider for the custom panorama.

panorama.registerPanoProvider((pano) => {

if (pano === "reception") {

return getReceptionPanoramaData();

}

// @ts-ignore TODO fix typings

return null;

});

// Add a link to our custom panorama from outside the Google Sydney office.

panorama.addListener("links_changed", () => {

if (panorama.getPano() === outsideGoogle.location.pano) {

panorama.getLinks().push({

description: "Google Sydney",

heading: 25,

pano: "reception",

});

}

});

}

function initMap() {

// Use the Street View service to find a pano ID on Pirrama Rd, outside the

// Google office.

new google.maps.StreetViewService()

.getPanorama({ location: { lat: -33.867386, lng: 151.195767 } })

.then(({ data }) => {

outsideGoogle = data;

initPanorama();

});

}

window.initMap = initMap;index.js

注意:所示 JavaScript 代码是从 TypeScript 代码段编译而来的。

CSS

html,

body {

height: 100%;

margin: 0;

padding: 0;

}

#street-view {

height: 100%;

}

style.css

HTML

Custom Street View Panorama Tiles

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"

defer

>

index.html

查看示例

试用示例

Stackblitz.com

CodeSandbox.io

JSFiddle.net

GitPod.io

Google Cloud Shell

如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。

最后更新时间 (UTC):2023-06-26。

Stack Overflow

在 google-maps 标签下提问。

GitHub

观摩我们的示例并自己动手练习。

Discord

与其他开发者讨论 Google Maps Platform。

问题跟踪器

出错了?立即向我们发送 bug 报告!

了解详情

常见问题解答

API 选择器

教程

平台

Android

iOS

Web

网络服务

产品信息

定价和方案

联系销售人员

支持

服务条款

Android

Chrome

Firebase

Google Cloud Platform

All products

条款

隐私权政策

ICP证合字B2-20070004号

Manage cookies

Sign up for the Google Developers newsletter

Subscribe

English

Deutsch

Español

Español – América Latina

Français

Indonesia

Italiano

Polski

Português – Brasil

Tiếng Việt

Türkçe

Русский

עברית

العربيّة

فارسی

हिंदी

বাংলা

ภาษาไทย

中文 – 简体

中文 – 繁體

日本語

한국어

“街景”  |  Google for Developers

“街景”  |  Google for Developers

“街景”

English

Deutsch

Español

Español – América Latina

Français

Indonesia

Italiano

Polski

Português – Brasil

Tiếng Việt

Türkçe

Русский

עברית

العربيّة

فارسی

हिंदी

বাংলা

ภาษาไทย

中文 – 简体

中文 – 繁體

日本語

한국어

通过街景带您的应用用户遍历世界各地。

首页

指南

“街景”

首页

指南

首页

产品

“街景”

带您的用户亲近世界

利用您的应用探索

为您的 Android、iOS 或 Web 应用添加街景功能,让您的用户探索周遭的世界。

连接球形摄像机和应用

硬件制造商和应用开发者可以利用 Open Spherical Camera API 规范创造可协同工作的球形摄像机和应用。

创建 360° 全景图像

将开放的 Photo Sphere XMP Metadata 嵌入您现有的照片球和全景图像内,以供在支持 360° 全景图像的应用中使用。

其他 Street View API

Street View API for Mobile 通过 Android 和 iOS 上的街景带人们游历新地点。

Maps JavaScript API 中的街景功能 在 Web 上使用以 JavaScript 库 形式集成到 Google Maps JavaScript API 中的 Google Maps API。

其他 Maps API 中的街景功能 通过 Embed API 嵌入交互式照片球,或者直接通过 Street View Image API 添加静态图像。

Programs

Women Techmakers

Google Developer Groups

Google Developer Experts

Accelerators

Google Developer Student Clubs

Developer consoles

Google API Console

Google Cloud Platform Console

Google Play 管理中心

Firebase Console

Actions on Google Console

Cast SDK Developer Console

Chrome Web Store Dashboard

Android

Chrome

Firebase

Google Cloud Platform

All products

条款

隐私权政策

ICP证合字B2-20070004号

Manage cookies

Sign up for the Google Developers newsletter

Subscribe

English

Deutsch

Español

Español – América Latina

Français

Indonesia

Italiano

Polski

Português – Brasil

Tiếng Việt

Türkçe

Русский

עברית

العربيّة

فارسی

हिंदी

বাংলা

ภาษาไทย

中文 – 简体

中文 – 繁體

日本語

한국어

Google地图街景( StreetView)——全景摄影的在场景漫游中的应用 - 知乎

Google地图街景( StreetView)——全景摄影的在场景漫游中的应用 - 知乎切换模式写文章登录/注册Google地图街景( StreetView)——全景摄影的在场景漫游中的应用pano360本人爱好旅游、VR全景,互联网3D图形,元宇宙,慢跑,国际等本文作者 刘运增Google于2007年推出了Google地图和Google地球街景漫游功能,即 StreetView,这是以地图为背景,在街道的中心线拍摄的一系列全景照片以显示街道两边的景物的一种动态的全景技术。street View是Google Maps和Google地球的新特色,它允许你观看和漫游街道级的360度城市街道景观。在街景模式下,人们可以以360度视角漫游在虚拟的城市街道上,可以观赏街头景象,就如同在走在真实环境的大街上一样。Google StreetView拍摄的大量的全景照片覆盖北美、欧洲大陆和英国、澳大利亚和新西兰、日本等等。拍摄全景的车队,每辆汽车上都有9个360度视角的定向摄像头、用于定位的GPS单元、3个SICK制造的激光测距扫描仪,用于测量车辆前方180°处长达50米的距离。扫描仪和用于定位的GPS单元、Wi-Fi天线,Wi-Fi天线热点等,车队沿街道的中心线前进,汽车在街上行进时每隔一段距离就拍摄一张360全景,沿着街道的中心线把360度视野的景观全部记录到360度全景之中。 StreetView拍摄汽车 StreetView拍摄车队出现在荷兰首都阿姆斯特丹的Google Maps Street View拍摄车队,汽车顶部的一支支大炮(拍摄器材,全景照相机)颇为壮观。这些大炮正走出美 洲,"侵入"欧洲及大洋洲。光在欧洲, Google Maps Street View车队就在以下地点出现过: 意大利罗马、意大利都灵、法国巴黎、法国尼斯、英国伦敦、荷兰阿姆斯特丹,相信Google的Street View很快便会正式支持欧洲。很明显,这些激光扫描仪将可用于全面立体化Google拍摄汽车所经过的每个角落,尤其是高层建筑物。再将拍摄到的平面相片整合进去,这样一来我们就可得到一个更真实、更立体的虚拟世界。当人们在Google地图中进入了“街景”时,他们就会看到车队所拍摄的360度全景,随着在街道上向前推进,连续地播放每个拍摄点上的全景,当拍摄全景的距离足够小时,人们看到的就是行进中的连续的动态景物,随着计算机的性能和网络速度的提高,可以减小两个拍摄点的距离,观察者在他的眼中所看到的就像开着汽车在街道上行走时所看到的景象。但是这与一般的视频不一样,因为这时你可以任意转动观看四面八方的景物,全景的播放与地图中的3D场景的环境是完全吻合的,即全景把人们带入了真实而又虚拟的3D世界,这种在行进中的观景方式,有一点像人们在VR虚拟现实中自由漫步的场景漫游。这正如Google地图服务产品经理Chau在题为“感觉就像行走在街道上”的博客文章中写道:“使用Street View,用户可通过360度全景查看街道景观,虚拟化地探索城市的各个层面。”这正像VR虚拟现实技术一样实现了虚拟场景漫游,人们沉浸在场景之中了。Google已经在它的Google地球已经建立大量的3D建筑物,形成了街道、街区、至于建立了整个城市,它的地形地貌也是全3D的,地图是作为一种材质贴图,贴在3D地面上的,有一定的真实性,浏览者已经可以在街道上虚拟漫游或在天空上飞翔观看地面上景物。为什么Google还要推出街景漫游功能?原因就在于基于建模的街景漫游不够真实,这是基于模型的虚拟现实技术,模型的贴图是人造的,缺点是不够真实,有人工的痕迹,但是优点则是真正的3D。严格地讲Google StreetView现在推出的“街景虚拟漫游”功能,不能算是IBR技术,(IBR)是基于图像的虚拟现实技术,即在3D场景中拍摄一组有代表性的照片,作为采样点,根据这些已有的照片建立3D场景中任意位置的渲染的2D图像,从而实现在3D场景中漫游。这种技术叫做基于图像的渲染技术,其缩写就是IBR。Google StreetView只能算是全景摄影在虚拟场景漫游中的应用,但这是一种简化了的技术,这种漫游不是完全自由的,只能限于街道的中心线,而且在目前的图像处理速度情况下,由于要处理数据量大,只能跟着地面上标注箭头前进,所以只能是断断续续地前进,这是街景的缺点。这也是与基于建模的3D虚拟漫游的不同之处。当然随着计算机的性能和网络速度的提高,可以减小两个拍摄点的距离,观察者在他的眼中所看到的就像开着汽车在街道上行走时所看到的景象。但是这与一般的视频不一样,因为这时你可以任意转动观看四面八方的景物,全景的播放与地图中的3D场景的环境是完全吻合的,即全景把人们带入了真实而又虚拟的3D世界。可以说:“街景”是全景摄影的最新的应用,必然会推动全景的普及和应用,当然,由于计算机的性能和网络速度的限制,实际效果并没有达到理想的程度。谷歌街景是谷歌地图和谷歌地球中的一项技术,它提供世界上许多街道上的位置的交互式全景图。它于2007年在美国的几个城市推出,此后已扩展到全球城市和农村地区。编辑于 2023-02-14 10:38・IP 属地湖北VR全景Google 街景地图Google Earth​赞同 3​​添加评论​分享​喜欢​收藏​申请

谷歌街景_百度百科

_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10谷歌街景播报讨论上传视频谷歌地图特色服务2007年5月30日,谷歌正式推出街景功能,能够浏览美国旧金山、纽约等城市街景。该范围已经扩展到了美国,法国,西班牙,意大利,荷兰,英国,澳大利亚,新西兰,日本等9个国家的135个城市。这一服务虽然使枯燥乏味的地图阅读工作变得简单有趣,但也引发诸多争议。2010年谷歌公司(Google Inc.)涉及隐私的做法再次受到质疑。8月10日,其韩国办公楼遭到警方突击检查,在德国20个城市推出地图服务的计划也受到了官方的批评。中文名谷歌街景运用程序谷歌地图推出时间2007年5月30日覆盖城市135(2007年)谷歌街景释义谷歌地图的一项特色服务隶    属谷歌公司软件语言英语,中文 [1]目录1特色2服务特点3中国街景4使用步骤5引发问题▪代表事件▪监管机构调查▪在美遭遇官司▪英国重启调查▪造假风波6各种技术▪街景汽车▪街景三轮车▪街景雪地车▪街景手推车7国际应对8沿革▪2007年▪2008年▪2009年▪2010年▪2011年▪2012年▪2013年特色播报编辑谷歌街景 [1]谷歌街景,是谷歌地图的一项特色服务,是由专用街景车进行拍摄,然后把360度实景拍摄照片放在谷歌地图里供用户使用。2007年5月30日,谷歌正式推出街景功能,能够浏览美国旧金山、拉斯维加斯、纽约等城市街景。该范围已经扩展到了美国,法国,西班牙,意大利,荷兰,英国,澳大利亚,新西兰,日本等9个国家的135个城市。现时中国网民已经能够在谷歌地图观赏纽约街头的街景。这一服务虽然使枯燥乏味的地图阅读工作变得简单有趣,但也引发诸多争议和质疑。谷歌已将所有拍摄到的车牌号和人脸进行模糊化处理,也允许某些地方的照片可以从谷歌街景中删除,只要用户提交不想让别人看到的信息位置即可,谷歌在收到请求后会让该地点无法显示。但是谷歌街景仍然继续引发涉及侵犯隐私权的事件。欧盟已要求Google在拍摄前与地图上传前,必须告知当事人。随着全球化和人员流动的加剧,人们希望尽快对一个陌生地区熟悉起来的意愿为这项新技术提供了广阔的前景。谷歌的最终目标是提供全世界的街头景观。谷歌公司已逐渐把这一计划扩大到全世界各大城市,但不少市民称这种行为严重侵犯了他们的隐私权。不少英国人谴责这种行为是“完完全全的侵犯隐私行为”,批评者认为其是在为盗贼留后门,为犯罪分子寻找潜在的下手对象提供方便。谷歌的发言人则称:谷歌所做的工作不仅会满足用户对规避隐私的需求,并且还会遵守当地的法律。 [2]服务特点播报编辑“谷歌街景”服务只是谷歌的地图服务的补充,谷歌公司希望用户将它和之前发布的“谷歌地球”结合起来,从而充分的了解地球上的每一个地区。不过之前“谷歌地球”就曾遭受猛烈的批评,因为它通过卫星从高空拍摄,并向用户提供此类的地球照片。这些照片大大流行,因为可以让人们看到地球上每一处角落。但是也有人认为卫星照片的精确程度太高,让人们感到仿佛受到了监视。在这些精确定位的地球照片上,不仅仅可以看到哪一户家庭的后院有游泳池或者网球场,以及家门口的汽车型号和颜色,甚至花园里的设施和其中晒日光浴的人也能一览无余。批评者认为,该项技术会被窃贼用作设计逃生路线,甚至还会帮助恐怖分子找寻军事基地。中国街景播报编辑谷歌街景中国地方很大,并不是每一个人都认识路,那我们迷路时靠的是什么呢?靠的就是地图,地图就是我们的指路明灯。2009年8月20日下午消息,谷歌中国地图产品经理林裕宽今日透露,谷歌地图中国城市的街景也已在计划之中,中国网民不久将可以用谷歌地图游览全国各大都市(现今已经停止)。使用步骤播报编辑第一步打开谷歌地图,页面默认出现美国地图,点击地图右上角的“STREET VIEW”按钮。第二步美国地图上将出现若干个照相机图标,这些图标代表已经提供街头景象的美国城市。点击其中任意一个,你将得到相关城市的详细地图。第三步找到城市地图上出现的黄色引导员,你可以将其随意移动到城市中你想要去的街道。第四步网页上出现的街头画面就是旅程的起点,你可以点击照片上的白色虚拟线控制方向,还可以随意调整照片的角度和远近。引发问题播报编辑按照“谷歌街景”设计,用户可以放大画面,看到包括建筑物、汽车以及人脸在内的特写镜头。其中难免有一些是人们进出各种场所,比如医院、保健诊所以及酒店的画面。谷歌虽然并不是有意去拍摄他们,而且还有意识的对人物面貌作模糊化处理,但是从这些人的衣着和头发的颜色,还是可以依稀的辨认出来,这让保守的大部分人认为实在无法接受。谷歌街景实际上“谷歌街景”的拍摄车不管在街头遇到什么,都会统统拍摄下来。在之前提供的照片服务中,就出现过不少让人难堪的镜头:两个街上的男人死死地盯住旁边一个弯下腰的女人;一个正在攀越围栏的男人,甚至还有斯坦福大学晒阳光浴的两个女生。虽然“谷歌街景”的照片并不是实时“直播”,但是每隔一段时间就会对其进行更新。国际隐私权保障组织警告说,“谷歌街景”所进行的可能是一个大规模的侵权行为。他们准备正式起诉谷歌,除非该公司保证将照片上出现的车牌号码和人脸特别全部作模糊处理。英国信息委员会的官员表示,谷歌提供的图象应该避免出现人像:在街景中出现个人是一件危险的事情,虽然有时候并不严重。但是如果当人们出现在诊所或者医院门口被拍摄了下来,那么这就是严重的侵权事件。代表事件中国台湾2010年3月12日,台湾地区的媒体报道,谷歌(Google)地图“街景服务”再度演出上传问题图片的风波,台湾花莲市一位女子全裸攀在居家二楼窗口的图像“全都露”,民众隐私荡然无存,引发网友热烈讨论,有人直呼:太恐怖!全民公敌时代来临。裸女的画面被眼尖网友发现后,3月14日晚在网络上引发轩然大波,网友批评:竟然人在家中,裸照也会被街景车拍到且在网络流传,隐私严重被侵犯,真是太可怕了。谷歌街景三轮车针对Google街景车拍到裸女照,Google台湾表示,Google街景车对人的脸孔与车牌号码,均会予以马赛克处理,避免触犯个人隐私,网友对于不妥影像,也可按下“回报问题”,Google有专责部门会处理这类检举。Google台湾已于2010年3月15日零时三十分移除这张图像。英国2010年3月13日英国《每日邮报》报道,谷歌街景照片由于展示出一张裸体儿童的正面照引来非议。3月11日,一个4岁或5岁的金发男孩照片被上传到谷歌街景照片系统中。拍摄地在伦敦西南温布尔顿,当时这个男孩上完厕所后,裤子还没有穿上。照片显示这个男孩的妈妈或保姆正在帮他穿衣服,一个男人正在一旁观看。人们担忧那些恋童癖患者将获得在线搜索照片或目标的新途径。谷歌虽然对儿童的面部进行了模糊化处理,但是却没有模糊这个家庭的车牌照,从而让跟踪他们的住址成为可能。这些照片虽然已被删除,但却为批评谷歌街景再添一把火。谷歌一名发言人说:我们对可能发生的任何疏忽之事表示歉意。并称有很多在线工具可以让用户立即举报不适当的照片。谷歌韩国遭搜查韩国警方对涉嫌非法收集个人信息的谷歌韩国进行了搜查,并获取了硬盘文件等证据。韩国警方认为,谷歌韩国在制作“街景”程序的过程中,非法收集个人信息,涉嫌违反韩国的通信秘密保护法。谷歌韩国方面则表示,谷歌韩国没有蓄意收集个人信息,也没有将此用于商业行为,因此不存在很大的问题。 谷歌“街景”是利用互联网地图提供特定地点图片信息的一种服务,已在美国、德国、加拿大等国开展,谷歌韩国从去年年底开始在韩国进行信息收集工作,以准备在韩国开展此项服务。事实上,谷歌在其他国家的“街景”服务也遇到了一定的麻烦,由于谷歌的信息采集车装有特殊照相机,在街道上拍摄的照片具有一定的随机性,一些包含个人相貌、暴力场面等敏感信息的照片也被放到互联网上,因此有些国家要求谷歌对照片进行处理后再使用。谷歌在韩国收集信息时所暴露的问题则更为严重,谷歌韩国的信息采集车为使所拍摄照片也能满足无线上网用户使用,同时收集了正在使用无线网络上网的笔记本、智能手机用户的访问信息,甚至包括个人网络即时通讯信息和电子邮件信息等。美国谷歌公司曾于5月份公开表示,在收集信息过程中无意识地收集了一些个人信息。韩国放送通信委员会从6月开始与谷歌韩国就收集个人通信信息的问题进行协商,并要求谷歌韩国提供所收集的个人信息,但谷歌韩国对此没有给予积极的配合。此次韩国警方以涉嫌违反通信秘密保护法对谷歌韩国进行搜查。如果谷歌韩国确实违反韩国法律,将至少被处以罚款。如果问题非常严重,相关责任人甚至可能会被处以10年以下有期徒刑。对于韩国警方的搜查,谷歌韩国10日表示,美国谷歌公司已经在5月份披露了相关信息,在此之后,就中断了对相关信息的采集。韩国一家媒体认为,由于谷歌韩国的“街景”相关数据和信息已经传送到了美国谷歌公司,韩国警方的搜查很难取得实质性进展。 [3]监管机构调查Google(谷歌)街景摄像车韩国国家警察厅说,它正在调查谷歌公司在准备推出“街景”(Street View)地图服务的过程中,有没有非法收集和储存私人信息。谷歌公司总部位于美国加利福尼亚山景城,网民可以通过“街景”服务看到城市街道的全景影像。包括德国、意大利、澳大利亚和美国在内,多个国家的监管机构正在调查,以确定谷歌的街景车辆在网民无防备的情况下,收集他们通过Wi-Fi无线网络发出的个人数据时,有没有违反隐私方面的法律。谷歌曾说,数据的收集是随意的。韩国国家警察厅发表声明说,在证实该公司通过其专门的数据收集车辆获取并保留公开数据和未经授权的私人通信数据之后,我们启动了调查。公开数据指的是公司地址等信息,根据韩国法律可以合法地保留和存储。谷歌公司女发言人Lois Kim说,我们可以证实,警方曾到访谷歌韩国公司,同时对街景车辆的数据收集展开调查。我们将配合调查,并回答他们提出的任何问题。突击检查不一定意味着谷歌将会遭到起诉。这种检查在韩国很常见,以此启动的调查常常都不会进一步深入多远。但这次检查可能会让人们对谷歌街景的关注持续不减。美国有几个州已经展开联合调查,以确定谷歌街景车辆在网民无防备的情况下收集他们私人数据的时候,其行为是否违反了隐私法律。意大利、西班牙、德国和澳大利亚的有关部门也在调查这项服务。与此同时,谷歌在周二说,它计划于年内在德国20个大城市推出街景服务,其中包括柏林、慕尼黑和法兰克福。这一消息引起德国官员的批评。德国是最早对谷歌街景提出隐私方面担忧的国家之一。谷歌希望通过允许人们要求它不把自己居所的影像放入街景当中,来打消德国方面的担忧。谷歌说,在标准程序之外,谷歌还会推出一项服务,对“街景”中照片上的人脸和车牌号进行模糊处理。德国消费者保护部部长艾格纳(Ilse Aigner)周二说,她担心,当人们还没有来得及要求谷歌删除自己居所的照片时,街景就已经上线了。艾格纳发表声明说,要按照承诺受理所有提交的不同意见,这对我来说至关重要。消费者保护团体也对谷歌的计划普遍感到怀疑。谷歌女发言人瓦格纳(Lena Wagner)说,在德国的这20个城市,用户需要在9月中旬之前要求谷歌对自己居所的影像进行模糊处理,使之无法辨认。 [4]在美遭遇官司公司总部设在美国加州帕萨迪纳市的Vederi科技公司19日向洛杉矶一家联邦法院提交诉状,控告谷歌公司的“谷歌街景”技术侵犯了其研发的一项专利。诉状说,“谷歌地图”和“谷歌地球”服务系统中使用的“谷歌街景”技术是Vederi科技公司创始人恩里科·迪·贝尔纳多和路易斯·贡萨尔维斯共同研发的,所以这项技术的专利应该归属Vederi科技公司。诉状称,Vederi科技公司于2000年申请了有关技术的专利,而谷歌2007年才开始正式使用“谷歌街景”。此外,早在本世纪初期,帕萨迪纳市政府的网站就已经开始使用Vederi公司的这项技术,当时这项技术被命名为“街道浏览”。谷歌没有就被控告侵犯专利一事发表评论。 [5]英国重启调查据国外媒体报道,在谷歌承认其街景拍摄车获取了WiFi网络传输的完整电子邮件和密码后,英国数据保护官员宣布将重新展开调查。英国信息专员办公室(ICO)在检查了谷歌的街景数据样本后,曾宣布谷歌未违反数据保护法。谷歌表示,自己是无意收集了WiFi网络上传输的信息“碎片”。不过加拿大和西班牙的监管机构指控谷歌的行为违法。对此谷歌周五表示,确实收集了更完整的个人数据,这点以前未意识到。谷歌工程研究高级副总裁阿兰·尤斯塔斯(Alan Eustace)在博客中称:“这些监管机构的调查清楚地显示,虽然大部分数据零散的,但在某些情况下,也会收到完整的电子邮件、URL网址以及密码”。为此ICO周日表示,将询问谷歌是否也在英国收集了完整的电子邮件和密码。该机构称:“虽然(5月份)我们看到的数据未包括指向某个具体人的有意义信息,但我们一直与国际同行保持联络,并等待他们的调查结果”。ICO表示:“我们将调查,(从谷歌)发出的新信息是否涉及在英国无意收集的数据,此后我们将决定是否采取必要的行动,包括考虑使用执法力量。”如果ICO发现谷歌确实违反了数据保护法,该搜索引擎公司可能面临最高达50万英镑的罚款。谷歌新任隐私官艾尔玛·惠腾(Alma Whitten)已经为此道歉。他表示:“我们对错误地收集数据深表歉意,我们正在加强我们内部的隐私与安全保护措施,雇佣更多人、加强培训并完善程序和合规。”他还表示:“我们将尽快删除数据,并将继续与政府合作,以确定最佳的方案,并解决他们提出的其他问题和担忧。” [6] [4]造假风波谷歌街景总是能挖掘出一些令人瞠目的奇特场面,继“马头人”,“倒霉的偷车贼”以及“后备箱中的裸体男”图片后,23日,谷歌在互联网上广泛传播的一幅有关“一妇女在柏林街道上生孩子”的图片被曝造假。谷歌街景截图:一名女子在街头生孩子这幅图片显示,光天化日之下,一名妇女躺在街道上,一名路人在一旁协助她把头部抬起,旁边还有一名男子看上去似乎在用手机打电话叫救护车。而根据这幅图片提供的信息,人们发现谷歌街景根本就没有这样的图片,所谓的事件发生地也没有人承认发生过类似的事情,因此人们断定这幅图片是一幅合成的造假图片,造假者很可能是来自德国的艺术家。最初把这幅图片贴到网上的网站Reddit承认,这幅图的确经过人工合成,与此同时,德国《图片报》也坚持认为这幅图是假的。各种技术播报编辑街景汽车街景汽车当 Google 最初启动街景视图试验项目时,谷歌街景的人员在一辆 SUV 中配备了若干台计算机,并在车顶上固定好摄像机、LMS激光扫描器和 GPS 设备,随后便开始了图像采集之旅。街景视图项目于 2007 年 5 月启动,最初仅限于美国的五个城市,如今的 360 度全景图已覆盖世界各地的许多地方。后来,谷歌街景的人员一度改用运货车采集图像,不久又组建了一支车队,从而使这一项目推广到美国全境乃至世界各地。谷歌街景将每辆车配备的计算机减至一台,然后又对摄像系统进行改进,以便捕获分辨率更高的全景图。谷歌对汽车和摄像技术进行了几次更新换代,目前最新的车辆已配备了 15 个镜头,可拍摄 360 度的照片。车中还配备了用于跟踪车辆位置的移动传感器、用于存储数据的硬盘、用于运行系统的小型计算机,以及用于捕获三维数据以确定街景视图图像中距离远近的激光器。街景三轮车街景三轮车尽管街景汽车可以带我们去世界各地一些风景如画的地方,但有一些最有趣又最好玩的地方,街景汽车却无法到达。在一次山地自行车运动中,机械工程师丹·拉特纳 (Dan Ratner) 意识到,他可以将自己最喜欢的活动与街景视图采集工作结合起来,这样既可兼顾工作,又能探索新的地方,于是他便开始组建自行车摄像系统。借助街景三轮车,可以在公园、山径、大学校园甚至体育场馆采集图像。街景雪地车街景雪地车在借助街景三轮车到达上述这些有趣的地方后,谷歌街景开始思考还有哪些地方可以去探索,于是产生了在雪地车上装配街景视图采集设备的想法。按照 Google 一贯的风格,谷歌街景只用几个周末就完成了组装工作,期间使用了一些 2x4s 板材和胶带,多出的硬盘则包裹在滑雪衫中,以抵御寒冷的环境。街景手推车街景手推车一群热爱艺术的 Google 员工希望能将街景视图技术应用到世界各地的博物馆,于是需要开发一种能够轻松通过博物馆门廊和围绕雕塑品采集图像的系统。谷歌街景设法将所有设备都安装在一个更小的框架中,并美其名曰“街景手推车”。通过它,可以采集博物馆中的图像,供您在“Google 地图”中探索。国际应对播报编辑Google街景全球上线以来,已拍到离开脱衣夜总会的男士、穿比基尼做日光浴的人、家长虐打孩子的照片,遭人质疑是否涉及隐私,因此欧盟对于Google街景服务相当排斥,要求Google在拍摄前与地图上传前,必须告知当事人。沿革播报编辑注:粗体代表该区域的街景视图为高分辨率较清晰的相片,而斜粗体则代表该区域部份的街景视图为非高分辨率相片。2007年2007年5月25日:美国:旧金山、拉斯维加斯、丹佛、迈阿密、纽约2007年8月7日:美国:洛杉矶、圣地牙哥、侯斯顿、奥兰多2007年10月9日:美国:波特兰、菲尼克斯、图森、芝加哥、匹兹堡、费城2007年12月10日:美国:达拉斯、明尼阿波利斯、印第安纳波利斯、底特律、普罗维登斯、波士顿2008年2008年2月12日:美国:朱诺、博伊西、盐湖城、圣安东尼奥、堪萨斯城、密尔沃基市、罗利、奥尔巴尼、曼彻斯特2008年3月27日:美国:安克拉治、费尔班克斯、斯波坎、优胜美地国家公园、阿尔伯克基、奥斯汀、小石城、罗克福德、麦迪逊、纳什维尔、克里夫兰、坦帕、里士满2008年6月10日:美国:萨克拉门托、弗雷斯诺、俄克拉何马城、圣路易斯、杰克逊、路易斯维尔、亚特兰大、哥伦布、杰克逊维尔、哥伦比亚、夏洛特、布法罗、弗吉尼亚海滩、黄石国家公园2008年7月2日:2008年环法自行车赛路线:法国:艾居朗德、布雷斯特、塞里伊、埃唐普、南特、圣马洛等。意大利:库内奥2008年8月4日:澳大利亚:阿德莱德、奥班尼、艾丽斯斯普林斯、布里斯班、布罗肯希尔、凯恩斯、堪培拉、霍巴特、墨尔本、伊萨山、珀斯、洛坎普顿、悉尼、塔姆沃思等。日本:千叶、函馆、神户、京都、奈良、大阪、埼玉、札幌、仙台、东京、横滨美国:新奥尔良、巴吞鲁日等。2008年10月14日:法国:巴黎、里昂、马赛、尼斯、里尔、图卢兹2008年11月27日:西班牙:巴塞罗那、马德里、塞维利亚、巴伦西亚2008年10月29日:意大利:佛罗伦斯、米兰、罗马、科莫湖2008年11月4日:美国:西雅图、华盛顿哥伦比亚特区、巴尔的摩等。2008年12月1日:新西兰: 主要地区2008年12月9日:美国: 更多地区。澳大利亚:达尔文、吉朗等。2009年2009年3月18日:英格兰:伦敦、牛津、剑桥、诺丁汉、设菲尔德、利兹、曼彻斯特、布拉德福德、斯肯索普、布里斯托尔、诺里奇、泰恩河畔纽卡斯尔、伯明翰、考文垂、利物浦、南安普敦、约克等。北爱尔兰:贝尔法斯特等。威尔士:加的夫、斯旺西等。苏格兰:格拉斯哥、爱丁堡、邓迪、阿伯丁等。法国:巴黎大都市区、亚眠、加来、敦刻尔克、瓦朗谢讷、勒阿弗尔、鲁昂、兰斯、沙隆昂香槟、卡昂、雷恩、南特、昂热、特鲁瓦、斯特拉斯堡、普瓦捷、第戎、克莱蒙费朗、利摩日、蒙彼利埃、普罗旺斯地区艾克斯、土伦、戛纳、昂蒂布、圣艾蒂安、格勒诺布尔等。意大利:布斯托-阿西齐奥、都灵、诺瓦拉、蒙扎、乌迪内、热那亚、帕尔马、博洛尼亚、里窝那、阿雷佐、佩鲁贾、拉奎拉、菲乌米奇诺、卡塞塔、那不勒斯、阿韦利诺、萨莱诺、巴里、雷焦卡拉布里亚、卡塔尼亚、卡利亚里等。西班牙:马德里大都市区、奥维耶多、萨拉戈萨等。荷兰:阿姆斯特丹、鹿特丹、格罗宁根等。美国: 更多地区2009年6月10日:法国:巴黎迪士尼乐园美国:蒙特雷、圣莫尼卡等。2009年8月18日:台湾:台北市及部份新北市(前台北县)瑞士:伯尔尼、苏黎世、巴塞尔、洛桑、日内瓦、纳沙泰尔、拉绍德封、比尔、温特图尔、卢塞恩、图恩、沃韦、蒙特勒等。葡萄牙:里斯本、巴雷鲁、波尔图、加亚新城等。意大利:奥斯塔、拉蒂纳等。美国: 更多地区2009年10月7日:捷克:布拉格等。加拿大:多伦多、温哥华、蒙特利尔、渥太华、魁北克市、卡加利、哈利法克斯、哈密尔顿、基奇纳、密西沙加、素里、亚博斯福、班夫等。日本:旭川、名古屋、岐阜、长崎、平戸、种子岛、屋久岛、奄美大岛、德之岛、冲绳岛、宫古群岛等美国: 更多地区2009年11月9日:墨西哥:墨西哥城、瓜达拉哈拉、蒙特雷、坎昆等。美国:檀香山及夏威夷的更多地区西班牙:马拉加、加的斯、科尔多瓦、格拉纳达、阿尔梅里亚、韦尔瓦、阿尔赫西拉斯、圣玛丽亚港、拉斯帕尔马斯、圣克鲁斯-德特内里费、毕尔包、华拉度列等。荷兰:海牙、乌德勒支等。2009年12月2日:新加坡: 主要地区日本:新潟、佐渡、广岛、冈山、福冈、熊本等。加拿大:埃德蒙顿、维多利亚、伦敦、萨斯卡通、圣约翰斯、温尼伯等。捷克:奥洛穆克、俄斯特拉发、克鲁姆洛夫等。法国:图尔、勒芒、南锡、梅斯、科西嘉、奥尔良、布尔日、维耶尔宗、圣纳泽尔、沙托鲁、布雷斯地区布尔格、科尔马、米卢斯、贝桑松、安纳马斯、尚贝里、亚维农、弗雷瑞斯、阿讷西、凡尔赛宫地区等。意大利:庞培城、巴蒂帕利亚、锡耶纳、乌尔比诺、圣吉米尼亚诺、阿斯蒂、比耶拉、贝内文托、伊斯基亚等美国: 更多地区英格兰: 更多地区2010年2010年1月21日:台湾:高雄、台中、彰化、新竹、宜兰、基隆、花莲、屏东等。瑞典:斯德哥尔摩、马尔默、隆德、哥德堡、哈尔姆斯塔德、韦斯特罗斯、埃斯基尔斯蒂纳、尼雪平、乌普萨拉、北雪平、延雪平、林雪平、厄勒布鲁、布罗斯、韦克舍、卡尔马、海斯勒霍尔姆、赫尔辛堡、舍夫德、卡尔斯克鲁纳、于默奥、谢莱夫特奥、吕勒奥、哈帕兰达、哥得兰岛部份地区、法罗、厄兰岛等。丹麦:哥本哈根、奥胡斯、欧登塞、奥尔堡、兰讷斯、霍森斯、瓦埃勒、科灵、罗斯基勒、奥本罗、希勒勒、埃斯比约、赫尔辛格、珊索岛、凡岛、莱斯岛等。英格兰: 更多地区威尔士: 更多地区苏格兰:恩华尼斯、尼斯湖等。北爱尔兰: 更多地区意大利:维罗纳、布雷西亚、拉文纳、曼图亚、克雷莫纳、维琴察、佩萨罗、法诺、佩斯卡拉、阿斯科利皮切诺、基耶蒂、比萨、卢卡、皮斯托亚、普拉托、坎波巴索、福贾、曼弗雷多尼亚、波坦察、阿尔塔穆拉、马泰拉、塔兰托、布林迪西、克罗托内、卡坦扎罗、拉梅齐亚泰尔梅、莱切、萨萨里、奥尔比亚、努奥罗、巴勒莫、锡拉库萨、拉古萨、阿格里真托、马尔萨拉、特拉帕尼、普罗奇达、卡普里岛等。美国: 更多地区荷兰: 更多地区葡萄牙: 更多地区捷克: 更多地区日本: 更多地区2010年2月9日:挪威:奥斯陆、费德列斯达、莫斯、萨尔普斯堡、德拉门、斯塔万格、克里斯蒂安桑、卑尔根等。芬兰:赫尔辛基、万塔、埃斯波、图尔库、海门林纳、坦佩雷、拉赫蒂、拉彭兰塔、于韦斯屈莱、约恩苏、库奥皮奥、奥卢、罗瓦涅米等。奥兰群岛:玛丽港等。加拿大:威士拿、2010年冬季奥林匹克运动会会场、黄刀镇、温莎、夏洛特顿、白马市、因纽维克、利载拿、纳奈莫、基隆拿、锦禄、三河市、萨默赛德、马尼图林岛、乔治王子城等。美国:阿拉斯加州的更多地区墨西哥: 更多地区2010年3月11日:香港:香港岛、九龙、新界(除离岛外)大部份地区及大屿山北部澳门:澳门半岛南部、氹仔、路氹城、路环荷兰:马斯特里赫特、鲁尔蒙德、特塞尔等。英格兰:莱斯特、巴斯、布拉德福德、坎特伯雷、伍尔弗汉普顿等。威尔士:纽波特、域斯咸等。苏格兰:邓巴顿、佩斯利等。北爱尔兰:伦敦德里、纽里等。日本:姬路等。2010年4月15日:墨西哥:蒂华纳、拉巴斯、华雷斯城、坦皮科、萨卡特卡斯、圣路易斯波托西市、莱昂、萨莫拉-德伊达尔戈、莫雷利亚、提奥提华坎、霍奇米尔科、圣克里斯托瓦尔-德拉斯卡萨斯等。英格兰:更多地区2010年6月8日:南非:2010年世界杯足球赛各球场、约翰内斯堡、比勒陀利亚、开普敦、德班、伊丽莎白港、布隆方丹等。2010年9月30日:巴西:里约热内卢、圣保罗、贝洛奥里藏特、尼泰罗伊、瓜鲁柳斯、圣贝尔纳多-杜坎普、欧鲁普雷图等。爱尔兰:都柏林、科克、戈尔韦、利默里克、沃特福德等。美国:希洛及夏威夷大岛的大部份地区南极洲:南设得兰群岛的半月岛部份地区2010年11月2日:德国:安联竞技场、禾克斯公园球场、西格纳伊度纳公园、维尔廷斯球场、拜耳球场、莱茵能源球场等足球场及城市景点2010年11月18日:德国:柏林、比勒费尔德、波鸿、波恩、不来梅、多蒙特、德累斯顿、杜伊斯堡、杜塞尔多夫、埃森、法兰克福、汉堡、汉诺威、科隆、莱比锡、曼海姆、慕尼黑、纽伦堡、斯图加特、乌帕塔等2010年12月8日:罗马尼亚:布加勒斯特、布拉索夫、蒂米什瓦拉、阿拉德、米耶尔库雷亚丘克等挪威:特隆赫姆、希恩、波什格伦、克里斯蒂安桑、特罗姆瑟、滕斯贝格、奥勒松、海于格松、桑德尔福德、博德、阿伦达尔、哈马尔、拉尔维克、哈尔登、利勒哈默尔等。丹麦:博恩霍姆岛等。荷兰:更多地区南非:更多地区2011年2011年2月1日:Google艺术计划内的各博物馆:捷克:现代艺术馆英格兰:国家美术馆、泰特英国美术馆法国:凡尔赛宫德国:旧国家画廊、柏林美术画廊意大利:乌菲兹美术馆荷兰:梵高博物馆、荷兰国家博物馆俄罗斯:特列季亚科夫画廊、冬宫博物馆西班牙:索菲亚王后艺术中心、提森-博内米萨博物馆美国:史密森尼学会弗瑞尔艺廊、弗利克美术收藏馆、大都会艺术博物馆、现代艺术博物馆2011年2月28日:台湾:国立交通大学、国立中正大学、国立中兴大学、国立东华大学、东海大学、逢甲大学、慈济大学校园法国:舍农索城堡、昂布瓦斯城堡等。意大利:更多地区爱尔兰:更多地区美国:更多地区英格兰:皇家植物园2011年3月10日:日本:广岛和平纪念公园、严岛神社、新广岛市民球场2011年3月30日:法国:枫丹白露宫意大利:古罗马广场、罗马斗兽场、帕拉蒂尼山、亚壁古道、戴克里先浴场、佛罗伦斯主教座堂广场、彼提宫、波波里花园、卡拉卡拉浴场等。2011年5月12日:Google Place内美国、澳大利亚及日本的一些商店2011年6月1日:法国:更多地区2011年6月29日:马恩岛:主要地区泽西岛:主要地区台湾意大利西班牙日本瑞典丹麦爱尔兰荷兰挪威罗马尼亚南非美国英国:更多地区2011年7月8日:摩纳哥:主要地区2011年7月27日:澳大利亚: 更新部份街景至高分辨率相片2011年8月16日:伊拉克:伊拉克国家博物馆2011年8月22日:瑞士:贝林佐纳三座要塞及防卫墙和集镇、采尔马特等。2011年9月28日:巴西:库里奇巴、阿雷格里港、弗洛里亚诺波利斯、阿拉拉斯、巴巴塞纳、若茵维莱、圣若泽多斯坎波斯、陶巴特等。2011年10月27日:Google Business Views内法国及新西兰的一些商店2011年11月3日:美国英国日本丹麦西班牙荷兰挪威法国瑞典意大利新加坡:更多城市景点2011年11月22日:比利时:主要地区2011年12月13日:日本:东日本大地震重灾区西班牙:伊维萨岛、拉帕尔玛岛、福门特拉岛、戈梅拉岛、耶罗岛等。2012年2012年1月24日:韩国:首尔、釜山意大利:厄尔巴岛等。2012年2月14日:日本:更多地区2012年2月22日:俄罗斯:莫斯科、圣彼得堡等。波兰:罗兹的一条街新西兰美国: 更新部份街景至高分辨率相片2012年3月21日:泰国:曼谷、清迈、布吉等。波兰:华沙、克拉科夫、罗兹、弗罗茨瓦夫、波兹南、格但斯克等。巴西: 近马瑙斯的亚马逊河2012年4月19日:以色列:特拉维夫、海法、耶路撒冷等。乌克兰:基辅、利沃夫、哈尔科夫、顿涅茨克等。2012年5月14日:爱沙尼亚:塔林、塔尔图、纳尔瓦、派尔努、维尔扬迪、约赫维等。拉脱维亚:里加、陶格夫匹尔斯、利耶帕亚、雷泽克内等。波兰乌克兰:2012年欧洲国家杯各球场2012年5月25日:美国:更多地区2012年6月19日:圣马利诺:大部份地区捷克美国:更多地区2012年7月12日:美国:加州部份国家公园2012年7月17日:南极洲:南地极等。2012年7月27日:英国:2012年夏季奥林匹克运动会各场馆及交通枢纽2012年8月2日:美国:肯尼迪航天中心2012年8月13日:巴西:萨尔瓦多、累西腓、巴西利亚等墨西哥美国:更多地区2012年9月5日:世界多间大学校园2012年9月12日:日本:更多地区2012年9月25日:智利:圣地亚哥、瓦尔帕莱索、康塞普西翁等。克罗地亚:萨格勒布、普拉、斯普利特、扎达尔、杜布罗夫尼克、里耶卡等。安道尔:大部份地区澳大利亚菲律宾美国: 海底景点2012年10月17日:美国:Google数据中心2012年10月30日:斯洛伐克:布拉迪斯拉发、尼特拉、普雷绍夫、科希策等大部份地区2012年11月28日:博茨瓦纳:嘉柏隆里等挪威:斯匹兹卑尔根群岛澳大利亚奥地利加拿大西班牙意大利瑞士美国:更多地区或景点2012年12月14日:直布罗陀:直布罗陀大部份地区乌克兰:更多地区2013年2013年1月17日:以色列:里雄莱锡安等2013年1月30日:立陶宛:维尔纽斯、考那斯等。美国:更多地区2013年2月15日:美国:更多地区2013年2月20日:日本:更多地区2013年3月6日:保加利亚:索菲亚、普罗夫迪夫等。俄罗斯:大莫斯科地区、特维尔等。葡萄牙:丰沙尔、科英布拉、阿威罗、吉马良斯等。英国美国:更多地区2013年2月20日:日本:福岛县双叶郡浪江町(福岛第一核电厂20公里范围内疏散区)2013年3月18日:坦桑尼亚、俄罗斯、阿根廷、尼泊尔、日本的多座著名山峰。2013年4月5日:印度的多个著名地标。2013年4月23日:莱索托:马塞卢及莱索托全国大多数地区。2013年6月4日:阿联酋:迪拜的哈利法塔。2013年6月28日:日本:端岛。2013年8月1日:阿联酋:阿酋航空的空中客车A380客机机舱内 [7]。2013年8月14日:秘鲁:利马、瓦乔,特鲁希略,奇克拉约,派塔,皮乌拉,阿雷基帕,苏亚纳,帕卡斯马约,哈恩等地区。智利、英国、芬兰:更多地区。印度的两所学校。2016年2月10日:新增加纳、塞内加尔、波多黎各街景。2017年4月20日:新增危地马拉、突尼斯街景。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000