问题标签 [markerspiderfier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6636 浏览

javascript - 如何在 Googlemaps api v3 中添加 Spiderfier?

我是谷歌地图的新手。我已经阅读了Overlapping Marker Spiderfier文档,但我仍然对如何在我的地图中实现它感到困惑。

这是我的尝试:

您可以在jsfiddle中找到此代码。

0 投票
1 回答
2212 浏览

javascript - 将重叠标记 Spiderfier 与 Google Map v3 集成后不显示标记

目前正在尝试将 Overlapping Marker Spiderfier 插件集成到 Google 地图设置中。我将位置数据从 MongoDB 传递到 Jade 模板。

在使用插件之前,我使用了一个 for 循环从坐标数组中创建标记。这些按预期显示。

但是,当我集成 Spiderfier 代码时,标记不再添加到地图中。地图仍会显示,但 JavaScript 控制台正在返回一条Uncaught Reference Error - OverlappingMarkerSpiderfier is not defined消息。这是否意味着对加载项的调用不正确?我完全准备好接受我错过了一些明显的东西,但到目前为止我尝试了以下方法无济于事:

  • 将我的代码与可用的附加示例进行比较
  • 将我的代码与其他 SO 答案进行比较

这是关于谷歌地图的代码:

0 投票
1 回答
3156 浏览

javascript - 实施 Google 地图 Spiderfier

我正在尝试实现https://github.com/jawj/OverlappingMarkerSpiderfier来处理可能出现在完全相同位置的多个地图标记。我正在使用下面的 javascript 从类 .marker 的 div 中获取地图数据并创建地图。它运行良好,效果很好。

但是,当我尝试将我拥有的内容与 Spiderfier js 集成时,地图标记没有显示出来。这是我合并 js 的遗憾尝试。知道如何使用 Spiderfier 但仍从 .marker div 中获取内容吗?

0 投票
1 回答
1234 浏览

popup - Leaflet spiderfy onclick 链接以打开弹出窗口

首先,对不起我的英语...

我正在使用 openstreetmap 和信息传单和列表绘制地图

根据检查的“规则”,我在地图上显示不同结构的标记以及在地图下的结构列表

当他们点击地图下结构列表的标题时,我会打开地图上的弹出窗口。

我的问题是存在具有 meme 地址的结构(相同的纬度和经度),因此标记重叠。标记是簇。如果他们点击集群上的地图,那“蜘蛛”,我可以看到几个标记。相反,当他们点击地图下的结构标题时,它不会显示螺旋和弹出窗口

我找到了一个禁用集群的解决方案,并且不再表明同一地址有多个标记。这是一个我不完全满意的解决方案,因为我希望用户看到这个地址有几个结构/标记

地图是: http: //www.ecocitoyen-grenoble.org/joomla/index.php/annuaire(用最后一个复选框“Loisirs,espaces naturels”进行测试 - 一个男人的图片,然后单击列表中的最后一个结构)

脚本:

地图:

显示标记:

单击地图下列表的标题打开弹出窗口

谢谢斯蒂芬

0 投票
1 回答
799 浏览

google-maps - Google maps Spiderfier, map unresponsive after setmap(null)

I have a function that loads my map to keep my map static.

I then use another function to construct my spiderfier data.

And Another to remove markers from the map:

My map data (mapData) comes from a php script and passed on via Jason. And that's also where I call my delete function right before I call my spider (map) function. This I do to clear the map before I pass the new data.

Now, my problem is that all data is displaying perfectly but after calling the delMe() function it clears the markers 100% but then my map become unresponsive it's not loading new data when calling the spider() function with new data.

I can overcome this problem by reloading/creating the map again, but I want to avoid that and only use a static map. And if I don't delete markers it just fill the map with 100's of markers mixing the old and new.

I am a bit of a noob when it comes to javascript/jquery, any help will be much appreciated!.

0 投票
3 回答
5544 浏览

google-maps - 当同一位置有多个标记时,重叠标记 Spiderfier 标记图标

Google 地图不提供拆分位于同一位置的多个标记的方法。这可能发生在多个居住地点(例如公寓楼或专业服务大楼)的人员或企业中。根据缩放级别,它也可能发生在购物中心等。

解决方法是“蜘蛛化”它们:单击第一个时,它会用一条线将它们分开到该位置。这是在 Google Earth 中完成的,George MacKerron 为 Google Maps 编写了一个包。(https://github.com/jawj/OverlappingMarkerSpiderfier

它可以与markerclusterer集成,虽然它不支持marker clusterer的批量创建marker。

我的问题是我正在处理的应用程序想要为不同类型的活动提供特定的图标。Spiderfier 将其中一个标记放在顶部。查看地图的人无法知道顶部标记下方可能有 10 个或更多其他标记。

理想情况下,有一种方法可以放置一个顶部标记,当有多个标记类似于 markercluster 中的不同图标时显示。这不是直接的 1 对 1,因为 Spiderfier 也可以在它们靠近但不完全相同的位置(默认为 20 像素)时工作,并且 markercluster 没有提供在完全相同的位置访问多个标记的规定。

理想的行为是有一个特殊的蜘蛛图标,当点击时会闯入蜘蛛化的单个图标。类似于markerclusterer,但没有缩放变化和处理相同的位置。理想情况下,特殊图标将指示现场有多少其他标记,再次像markerclusterer。特殊图标可以隐藏或成为蜘蛛组的一部分。

如果没有一些住宿,用户将无法知道该地点有多项活动。他们甚至可能假设他们想要的活动不在那个位置,因为显示了另一个活动标记。

这是一个有问题的 plunker:http ://plnkr.co/edit/vimZNq?p=info

谢谢你的帮助,

大卫

0 投票
1 回答
1731 浏览

google-maps-markers - 重叠标记 Spiderfier + MarkerWithLabel

将 Google Maps JavaScript API v3 与Overlapping Marker SpiderfierMarkerWithLabel 一起使用会在蜘蛛化时产生不利影响:除了第一个标记外,所有标记都会蜘蛛化,然后立即返回其原始位置(不是通过 unspiderfy)。

也就是说,标记事件在蜘蛛化后被position_changed触发一次,其中是蜘蛛化的标记数。n - 1n

在此处输入图像描述

0 投票
1 回答
1536 浏览

javascript - Marker Clusterer Plus 单击时删除集群

我正在使用这个工具

http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/

用于在精确位置或非常接近的聚类标记 ( gridSize: 5)

我想要做的是在点击和蜘蛛标记上删除一个集群(不是全部,只有一个)

https://github.com/jawj/OverlappingMarkerSpiderfier

这可以做到吗?

在参考 Marker clusterer 时,我没有找到任何删除特定集群的函数/方法。

提前谢谢。

0 投票
0 回答
893 浏览

javascript - Google Maps OverlappingMarkerSpiderfier 自定义图标

我想问如何解决以下问题:

我们有一个谷歌地图,上面有几个相同的标记,然后用https://github.com/jawj/OverlappingMarkerSpiderfier进行蜘蛛化,我们想为它们更改图标。换句话说,有没有一种方法可以检测标记是否被蜘蛛化,以区分单个标记和点击后会弹开的标记?

这是演示源:https ://github.com/jawj/OverlappingMarkerSpiderfier/blob/gh-pages/demo.html

应具有不同图标的 2 个标记示例

谢谢

0 投票
2 回答
1595 浏览

javascript - 标记的 OverlappingMarkerSpiderfier 偏移长度

背景
我使用谷歌地图和 clustermarkererplus 在地图上显示各种带有信息气泡的标记类型。为了处理坐标完全相同(或非常接近)的标记,使用 OverlappingMarkerSpiderfier (OMS) 为重叠的标记生成偏移量。到目前为止,寻找这个问题的答案只导致我调整偏移线的粗细。

问题
当有许多标记时,OMS 给出的偏移量太小。

问题

  • 如何增加偏移量(腿长)?
  • 是否取决于 OMS 分隔的标记数量是否超过某个值?

示例(展示效果)
可视化我想要做什么,增加偏移量(腿长)

OMS 的代码
文档位于:https ://github.com/jawj/OverlappingMarkerSpiderfier //Options I use
options = {keepSpiderfied:true};

//Creation of the OMS
new OverlappingMarkerSpiderfier(map, options);

//Click listener
oms.addListener('click', function(marker, event) {
//Code for showing infowindows
});

//Adding marker
oms.addMarker(marker);