flyTo()传单-如何使用onclick监听器在地图上飞行

时间:2019-12-12 12:23:09

标签: javascript jquery html leaflet

我陷入了自己的代码中。

我正在制作交互式地图,所以我需要在有问题的坐标上飞行。我怎么知道问题什么时候起作用,那么我已经检查了数据的状态,并根据对象的状态将它们放置在Leaflet的不同层中以在地图上显示它。然后,将它们放在页面上地图下方的小表中,其中包含具有唯一类,数据经度和数据纬度变量的元素,这些元素汇总了我们有多少个问题以及它们在哪里。

现在,这是我的问题所在。我是JS和JQuery的新手,所以我需要知道如何单击才能访问元素属性,因此当我单击它时,它将执行flyTo()函数,并将存储数据经度+数据纬度属性该功能。

这是一个带有一些ID的小代码。

这就是我在JS中创建元素的方式:

var newOption = host_name;
var uniqID = brojac;
div.innerHTML += '<td class="' + uniqID + '"value="' + newOption + '" data-longitude= "' + longitude + '" data-latitude="' + latitude + '">' + newOption + '</td>';

这是我在HTML文档中创建表格的方式:

<table id="tablic" style="width:100%">
    <caption>Aktivni problemi su na sljedećim DSLAM-ovima</caption>
    <tr id="red" itemprop='koordinate'></tr>
</table>

对不起,我不能在其中添加更多信息,因为它的敏感数据非常不错,希望你们能理解。

还有另一件事,即“ host_name”,我从JSON对象获取信息,在该对象中为地图创建标记。

希望我可以得到一些好的帮助。

1 个答案:

答案 0 :(得分:0)

使用JQuery:

将修订类添加到td元素:

'<td class="tdclass ' + uniqID + '"value="' ....

然后在该类上创建一个点击侦听器:

$('.tdclass').off('click').unbind('click').click(function(e){ //unbind and off is to remove the existing click events 
console.log(e);
console.log($(this).html());
console.log($(e).html());
    var lat = $(this).attr('data-latitude');
    var lng = $(this).attr('data-longitude');

    map.flyTo([lat,lng]);

});