javascript - 向传单标记添加附加标记?

标签 javascript leaflet

我正在尝试为我的传单标记自定义 html 输出。具体来说,我尝试为它们分配额外的数据属性,以根据从数据库中提取的 ID 触发引导模式,如下所示:

<div class="leaflet-marker-pane" data-toggle="modal" data-target="modal-<?php some id from php(); ?>"

但是我在如何附加附加 html 方面遇到了困难。

最佳答案

如果您的目标是在单击特定标记时触发特定模式,则有一种更简单的方法可以实现此目的,而不是像您现在提议的那样以声明方式执行。您只需使用 L.Markerclick 事件并调用您在初始化时已将其 ID 添加到标记的特定模态。一个例子:

// Create a new marker
new L.Marker([<?php echo $lat; ?>, <?php echo $lng; ?>], {

    // Add id to marker as an option
    id: <?php echo $id; ?>

// Attach to click event
}).on('click', function (e) {

    // Call modal with id
    $('#modal-' + this.options.id).modal('show');

// Add marker to map
}).addTo(map);

这里有更多关于通过 JS 而不是数据属性处理 bootstrap 模式的信息:

http://getbootstrap.com/javascript/#via-javascript

我什至想知道按照您建议的方式进行操作是否可行,因为 Bootstrap (我假设您正在使用 Bootstrap )将在初始化时扫描页面以查找当时标记上尚不存在的数据属性。如果您愿意,您可以尝试,您需要使用数据集属性将数据属性添加到标记的图标:

var marker = new L.Marker([<?php echo $lat; ?>, <?php echo $lng; ?>]).addTo(map);

marker._icon.dataset.toggle = 'modal';

marker._icon.dataset.target = 'modal-<?php echo $id; ?>';

关于javascript - 向传单标记添加附加标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320902/

相关文章:

javascript - 对象操作javascript,将对象的值添加到对象数组中

javascript - 具有 ID 的 DOM 树元素是否成为全局属性?

javascript - 使传单 map 移动响应

r - 在 R Shiny 中将传单 map 缩放为默认值

使用此 V/s 原型(prototype)的 Javascript 定义方法

javascript - 从 Aptana 验证器中排除特定文件或文件夹

javascript - 未选择检测元素

javascript - 如何将绘制的特征添加到现有特征组并将整个特征输出为geojson?

leaflet - 传单 panTo 不居中

javascript - 与容器 div 重叠的传单 map