- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的站点包含一个带有 leaflet.markerclusters 插件的 Leaflet map 。我还使用 Flowplayer 播放使用选择器 ID“#video1”在 JQuery 工具叠加层中打开的视频。
目前,当我点击 map 上的任何标记时,它会在叠加层中触发我的测试视频。我的目标是为集群中的每个单独标记创建一个唯一的点击事件。最终,我希望每个标记都有一个点击事件来触发该标记独有的视频。
我是初学者,到目前为止,我一直在使用这些文档齐全的库。但是,我没有弥合当前差距的技能。有人能给我一个正确的方向吗?下面是我的 JS Fiddle 的链接。我的问题从 JavaScript 第 2098 行开始。
var markers = new L.MarkerClusterGroup();
var addressPoints = [
[40.634902, -73.965054, "Video1"],
[40.660897, -73.961082, "Video2"],
[40.693353, -73.970413, "Video3"],
[40.693289, -73.966289, "Video4"],
[40.68973, -73.971007, "Video5"],
[40.718423, -73.957428, "Video6"],
[40.71817, -73.956918, "Video7"],
[40.681427, -73.993959, "Video8"]
];
for (var i = 0; i < addressPoints.length; i++) {
var a = addressPoints[i];
var title = a[2];
var marker = new L.Marker(new L.LatLng(a[0], a[1]), {
title: title
});
marker.bindPopup(title);
markers.addLayer(marker);
}
map.addLayer(markers);
//assign video div ID to overlay
$('#video1').overlay({
load: false,
top: "center",
left: "center"
});
//bind marker click event to overylay
markers.on('click', function () {
$("#video1").data("overlay").load();
});
谢谢,乔伊
最佳答案
使用 markers.on("click"...
函数,您正朝着正确的方向前进。您只需要进行一些编辑。就像您将事件监听器添加到整个“标记”层,您可以将其添加到 for 循环中的各个标记。
...
for (var i = 0; i < addressPoints.length; i++) {
var a = addressPoints[i];
var title = a[2];
var marker = new L.Marker(new L.LatLng(a[0], a[1]), {
title: title
});
if (title=="Video1") {
marker.on('click', function () {
$("#video1").data("overlay").load();
});
}
marker.bindPopup(title);
markers.addLayer(marker);
}
...
同样 - 并且可能是更好的解决方案 - 您可以通过将变量传递给函数来访问有关您在当前使用的 on("click"...
中单击的标记的详细信息。这如果您有多个视频并且不想在创建标记时使用 if 语句进行检查,这将很有用。
markers.on('click', function (d) {
// Grab marker title and make it look like an ID
var marker_title = "#" + d.layer.options.title.toLowerCase();
// Make sure the jQuery object exists
if ( $(marker_title) ){
// Call up the video.
$(marker_title).data("overlay").load();
}
});
请注意,我使用了 toLowerCase()
,因为您的数据标题大写,而视频 ID 全部小写。
这是实际操作: http://jsfiddle.net/nM458/44/
关于jquery-tools - 使用 leaflet markercluster 插件时在单个标记上触发点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15400200/
我仅在同一位置的标记上进行聚类(即 maxClusterRadius = 0)。单击集群时,我希望它以特定的缩放级别(不是最大缩放)居中并放大,然后立即 spiderfy。使用以下代码,spiderf
与 Leaflet.Markercluster ,如何检查标记是否在集群中? 最佳答案 使用Leaflet的hasLayer()函数 常规可见标记在技术上作为图层存在于 map 中。 Leaflet
当您放大和缩小时,markerclusters 会自动“重新聚类”,因为它会再次计算聚类。 是否可以选择在更改缩放比例时禁用自动重新聚类? 最佳答案 根据您要实现的目标,您可能会对 Leaflet.M
我正在尝试使用包含纬度、经度、弹出信息和图层定义的多维数组来填充传单 map 。问题是 2 个标记应该去 layer1,另外两个去 layer2。事实上,所有四个标记都属于两个层。感谢您的帮助。 va
我正在使用 Leaflet.markercluster将我的标记聚集在我的 Mapbox Map 中.将使用 json 填充标记。文件。我只需要一个搜索功能,它可以根据搜索字符串弹出必要的标记。我认识
使用Leaflet.markercluster人们可以在example中看到一个不错的动画。 。启用动画,例如: L.markerClusterGroup({ animate: true, a
有没有办法将 onEachFeature 事件(见下文)中通过 .getCenter() 创建的中心点添加到 L.Marker 或类似对象,该对象包含所有创建的中心点该事件可以被 Leaflet.Ma
我正在使用 MarkerCluster 在 folium 中创建传单 map 。我已经查阅了所有文档并搜索了示例,但我无法弄清楚如何为给定的 MarkerCluster 或 FeatureGroup
所以我的 map 上有几家商店作为图层。我的所有商店都已添加到 MarkerCluster,并且该商店已添加到 map ,一切正常。但我想在商店位于我的 viewPort 中时显示有关该商店的简短信息
我试图显示一张 map ,上面有很多标记(~36.000),其中必须包含一些信息。 首先,我从数据库中选择元素,然后使用 PHP 将其编码为 JSON 数组,然后使用 JSS 获取它,最后将其添加到我
我想为我的标记使用自定义图标,同时使用传单 MarkerCluster . 我已经设法实现了我的自定义图标 ,但是 现在标记弹出不再工作了。 我的代码如下所示: var markers1 = new
我目前正在使用外部 geojson 文件作为数据输入的传单项目。由于 json 包含很多对象,我想使用 MarkerCluster我从 Mappbox 得到的插件: 在没有集群的情况下显示 js
首先我使用 JSON//Work 获取车站位置 JSON 结构: [{"number":31705,"name":"31705 - CHAMPEAUX (BAGNOLET)","address":"R
是否有可能在没有用户交互的情况下显示 Markercluster 内的 Leaflet 标记? 现在我正在使用 panTo 方法 ( http://leafletjs.com/reference.ht
我正在使用 github 上的 MarkerCluster_compiled.js。但虽然逻辑有效,但它的图形从昨天开始就开始失效。 问题似乎是由“https://google-maps-utilit
我的情况是我有很多地理数据,其中许多具有相同的纬度和经度。 我想让 MarkerCluster 的 zoomOnClick 处理程序保持事件状态,但是本地图保持放大并获得最大缩放级别时,集群中相同的纬
我有一个 Leaflet + MarkerCluster 应用程序,它在 map 上有一些标记,并在打开与标记关联的弹出窗口时(单击标记时)将图像叠加层添加到 map 的一些逻辑。我使用 bindPo
假设我们有以下 map : https://jsfiddle.net/fcumj09w/5/ 在上面的示例中,我们有 2 个标记集群组(clustRed 和 clustYellow)和这些组之外的单个
我正在尝试选择显示和隐藏带有类别的标记。它工作正常,但如果 map 上有标记簇则无法工作。例如。当我选择 map 上的类别酒吧标记时,类别餐厅消失,但标记簇仍在 map 上。这是我的 intin 函数
我在 python 中使用 folium 包来显示我的数据的 MarkerClusters。 当您没有完全放大时,集群看起来不错,但它们似乎显示该集群内子标记数量的计数。我理解为什么这是默认行为,但出
我是一名优秀的程序员,十分优秀!