如何在OpenLayers / Leaflet中创建动画群集标记?


19

由于Openlayers似乎无法比拟的平滑过渡,我想使用Leaflet。我特别需要能够将标记与自定义样式的标记组聚类的功能。

可以在Redfin上找到证明我正在努力实现的最佳示例。

请注意,将鼠标悬停在群集上可提供流畅的动画,并通过单击标记将群集分割成动画效果。当达到单个点不与给定公差重叠的缩放级别时,实际标记将以动画方式拆分到其位置。

我真的很想将类似的效果整合到其中,并希望就最佳方法或您可能知道的其他示例提供一些指导。

注意: Redfin似乎正在使用Flash,我想远离它。在理想的情况下,我想尽可能通过Javascript实现此功能,但认为可能需要通过HTML5 / canvas完成。

也许使用p。-Raphael.js或d3.js

有任何想法吗?

顺便说一句-找到了这个例子,但它似乎特别适用于Google Maps。


我不认为Redfin在使用闪存。看来使用dojo工具包(dojotoolkit.org)都是JavaScript 。我没有发现任何其他映射库-他们也可以使用它们。
djq 2011年

我目前正在开发一个Leaflet群集层-github.com/cavis/leafpile它还没有真正起到任何作用,但是我计划添加诸如可自定义的标记图像和缩放转换策略之类的东西。随时向问题跟踪器添加增强请求。
cavis 2012年

Answers:



6

OpenLayers也有一个集群策略。您需要做的就是在向量层中指定为策略。

目前,该解决方案非常“简单”,只需根据缩放级别减少点数即可。如果您需要更出色的功能,则需要自己和自己进行编程。还可以看一下SelectFeature控件,当您将鼠标悬停在某个功能上时,可以使用该控件进行控制。

Redfin确实是时尚样本。希望我有时间用OL进行测试:)


我想使用OpenLayers,但是我需要像传单中那样的平滑过渡。您是否知道有任何复制这些光滑缩放动画的openlayers黑客?
NetConstructor.com 2012年

对不起,不行。现在,我正在对样式进行一些测试,对“点”进行一些样式化,在圆中添加一些颜色和计数数字。但是添加动画目前还很遥远。
EricSonaron'1

您是否使用新的ol3功能找到了解决方案?
NetConstructor.com 2012年




1

您是否看过将点聚类的polymaps示例?

这里的圆圈是可以使用css修改的向量。


谢谢,但是我特别一直在寻找允许标记动画的任何类型的解决方案(最好是支持跨浏览器)。我不确定您是否有机会查看Redfin 的链接示例(redfin.com/…)。该链接表示我要实现的目标-滑动标记动画表示您在单击/进入/放大到聚簇标记/区域时越深。
NetConstructor.com 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.