Kas*_*tin 6 google-maps google-maps-api-3 google-maps-markers
我在谷歌地图上有大约200个标记.这并不是那么多,使用默认的google.maps.Marker工厂绘制它们的速度相对较快.
但在我的情况下,每个标记都会不断改变它的位置,所以我必须为它们设置动画,我必须在每个标记后绘制轨迹.其他条件是所有标记都位于约20x20km的小区域内.
这就是为什么我要使用一个大的画布层并在一个循环中重绘它们上的所有标记.我在这里看到三种方式.
首先是使用google.maps.OverlayView.我们创建绝对定位的canvas元素并将其添加到google.maps窗格overlayLayer.在bounds_changed事件的情况下,我们重新计算画布的位置和大小,并重绘其上的所有标记. 实际上这有点慢 - 如果我们拖动地图太快,则会出现重绘标记的延迟.
我们使用相对定位的画布而不是绝对定位.之后我们不对bounds_changed事件做任何事情,只在zoom_changed事件上重绘画布. 拖动没有滞后(因为我们拖动画布本身),但是我们必须计算并创建包含所有标记的画布,并且对于最大缩放,它大约是5000x5000px(大量内存).
那你喜欢什么方式?
UPD.唯一合理的方法是第一个.我花了很多时间来解决涉及这个问题的任务.因此,这里是关于借鉴了很多谷歌的移动地图上的标记(俄语,文章http://habrahabr.ru/post/195950/),并在这里是比较4个不同的引擎演示:HTTP://kasheftin.github .IO/gmaps /
归档时间: |
|
查看次数: |
935 次 |
最近记录: |