a h*_*a h 8 google-maps google-maps-api-3
我注意到,使用google maps api的第3版,maps.google.com上的缩放与使用版本3的自定义地图的行为有所不同(读取:更平滑).我后来发现,这也适用于从谷歌演示这里.
有没有办法使用Google Maps API v3在地图上获得相同的平滑缩放感?
我一直试图在网上搜索一个解决方案,但我能找到的只是人们询问如何进行缩放动画,这不是我想要的.
mat*_*ias 13
原生Google Maps网站maps.google.com使用HTML5 canvas元素渲染地图.Google Maps API v3没有.目前(截至2015年底)无法使用Google Maps API获得平滑的连续缩放行为.
在搜索Google文档和网络以获得没有结果的答案之后,我花了一些时间来了解API v3以及maps.google.com如何基本上用于呈现和显示地图.有一个主要区别可以立即清楚为什么使用API无法实现连续缩放:
Google Maps API v3会创建一个由图像切片组成的地图,每个切片都会呈现为单个<div />容器,其默认大小为固定的256 x 256 px.切换缩放级别时,必须使用新图像(任何类型,可能使用自定义叠加层动态设置样式等)重新渲染每个图块.这是一项非常昂贵的任务,因此每增加一个缩放步骤都会增加额外的资源以及通过DOM操作重新渲染整个场景所需的额外计算成本.即使在高CPU /内存机器上使用现代浏览器,也几乎不可能获得流畅的变焦体验.
maps.google.com使用HTML5 画布对象来渲染地图场景(我很确定旧版浏览器有一个API v3样式后备版本).在本机支持的画布对象中绘制比在DOM元素中替换图像更便宜.谷歌使用基于矢量图形的方法,基本上允许连续放大细节,而无需获取额外的资源.此外,特定缩放级别所需的信息可以作为较小的数据块获取并应用于绘图例程.
我必须承认,我不知道这是如何运作的.这是我通过检查源代码发现的,我希望它几乎总结了为什么使用maps API 目前无法实现"平滑缩放" .无论如何,让我们期待Google Maps API v4!
| 归档时间: |
|
| 查看次数: |
4541 次 |
| 最近记录: |