【发布时间】:2019-04-17 11:32:53
【问题描述】:
我有一个包含多个位置的 Google 地图,我希望能够在点击地图外部的链接时转到并打开信息窗口。
以下是工作代码的相关位,但我想将链接放入选择下拉列表中,而不仅仅是 div 中的文本链接
$('#markers').append('<a class="marker-link" data-markerid="' + i + '" href="#">' + locations[i][1] + '</a> ');
google.maps.event.addListener(marker, 'click', (function (marker, i) {
$('.marker-link').on('click', function () {
google.maps.event.trigger(markers[$(this).data('markerid')], 'click');
});
顺便说一句,HTML 中有以下 div
<div id="markers"></div>
为了尝试让它作为下拉菜单工作,我更改了这一行
$('#markers').append('<a class="marker-link" data-markerid="' + i + '" href="#">' + locations[i][1] + '</a> ');
到
$('#dropdown').append('<option data-markerid="' + i + '">' + locations[i][1] + '</option>');
然后将其添加到 HTML 中
<select id="dropdown"></select>
然后我会得到一个包含所有不同标题的下拉列表,每个选项都有
data-markerid="0"
data-markerid="1"
我也加了
$( "#dropdown" ).change(function() {
google.maps.event.trigger(markers[$(this).data('markerid')], 'click');
});
但是当我从下拉列表中选择一个项目时,它不会转到并显示相关的信息窗口
【问题讨论】:
-
我怀疑您希望
marker点击事件在<select>更改事件上触发:api.jquery.com/change -
请提供一个minimal reproducible example 来证明您的问题。
标签: jquery google-maps infowindow eventtrigger