Skip to content

添加SpiderManager 实现同一地理位置有很多点位时,点击可以螺旋散开展开/折叠交互。#2880

Closed
HGX-DJK wants to merge 4 commits into
maptalks:masterfrom
HGX-DJK:maptalks-click-event
Closed

添加SpiderManager 实现同一地理位置有很多点位时,点击可以螺旋散开展开/折叠交互。#2880
HGX-DJK wants to merge 4 commits into
maptalks:masterfrom
HGX-DJK:maptalks-click-event

Conversation

@HGX-DJK
Copy link
Copy Markdown
Contributor

@HGX-DJK HGX-DJK commented May 10, 2026

当地图上多个 POI 点位具有相同的地理坐标时(如商场内多个店铺、同一建筑内的多个公司),普通显示会出现完全重叠的
问题,导致只能看到最上层的标记,其他点位被遮挡。
蛛网标记(SpiderMarker) 功能通过以下方式解决:

  • 堆叠显示:相同坐标的多个点位只显示一个特殊标记
  • 点击展开:点击堆叠标记后,所有点位以螺旋状散开显示
  • 连接线:展开时用线条连接原始位置和散开位置
  • 点击详情:点击散开后任意标记可查看该点位详情
  • 折叠收起:再次点击堆叠标记或点击空白处收起

@deyihu
Copy link
Copy Markdown
Collaborator

deyihu commented May 11, 2026

需求合理,功能实现也没有问题,但是这个功能太业务了,不在整体的设计里,这个加到里面去让整体设计非常别扭

  • 从设计和抽象上,OverlayLayer 图层才是更高级别的图形管理,而不是VectorLayer,OverlayLayer 的子类有VectorLayer,还有其他的webgl图层,所以从实现上有点问题,当用户使用webgl图层时,这个功能是不起作用的
  • SpiderMarker 应该属于Marker的扩展,肯定有大量的配置(样式,事件,半径,连接线样式等),这些配置明显和总体设计格格不入,因为库只做常规的设计,这个明显属于特定场景下的东西
  • 任何特殊的图形,或者特殊的图层,偏业务性的,特定效果的,都应该从插件入手,核心库要做的不是这些功能,而是开发对应的接口等来方便用户开发这些功能

建议:

自己写个插件即可,要支持不同的图层(VectorLayer,PointLayer)

@deyihu deyihu closed this May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants