向传单标记添加额外的标记?
Adding additional markup to leaflet marker?
我正在尝试为我的传单标记自定义 html 输出。具体来说,我正在尝试为它们分配额外的数据属性,以根据从数据库中提取的 ID 触发 bootstrap 模态,如下所示:
<div class="leaflet-marker-pane" data-toggle="modal" data-target="modal-<?php some id from php(); ?>"
但我正在为如何附加额外的 html 而苦恼。
如果您的目标是在单击特定标记时触发特定模式,则有一种更简单的方法,而不是像您现在提议的那样以声明方式进行。您可以只使用 L.Marker
的 click
事件并调用您在初始化时将其 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; ?>';
我正在尝试为我的传单标记自定义 html 输出。具体来说,我正在尝试为它们分配额外的数据属性,以根据从数据库中提取的 ID 触发 bootstrap 模态,如下所示:
<div class="leaflet-marker-pane" data-toggle="modal" data-target="modal-<?php some id from php(); ?>"
但我正在为如何附加额外的 html 而苦恼。
如果您的目标是在单击特定标记时触发特定模式,则有一种更简单的方法,而不是像您现在提议的那样以声明方式进行。您可以只使用 L.Marker
的 click
事件并调用您在初始化时将其 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; ?>';