所以我尝试在foursquare上实现结果:https://foursquare.com/explore?cat = drink & elode = url & near = Paris当你在地图上标记时,它滚动浏览右边列出的餐馆屏幕的一面到特设餐厅,并通过CSS突出显示.相反,当您点击列表中的餐厅时,它会在地图上突出显示它.
我正在使用skobbler /传单.我想我可以通过动态修改CSS来实现这一点,如下例所示:http://jsfiddle.net/gU4sw/7/ +页面中已经存在的目标脚本滚动.
然而,要实现这一点,看起来我需要在标记内分配一个ID(下面的2个标记):
var marker = L.marker([52.52112, 13.40554]).addTo(map);
marker.bindPopup("Hello world!<br>I am a popup1.", { offset: new L.Point(-1, -41) }).openPopup();
var marker = L.marker([52.53552, 13.41994]).addTo(map);
marker.bindPopup("Hello world!<br>I am a popup2.", { offset: new L.Point(-1, -41) }).openPopup();
Run Code Online (Sandbox Code Playgroud)
问题是:如何在html页面中的相应元素中指定标记ID来触发css更改?
我对JS的了解非常有限,但可能有一个很好的解决方案,那就是
我正在使用Leaflet JS来构建地图,但是在选择图层时遇到了一些问题。
我的目标是使地图适合多边形。Leaflet为地图上的每个元素生成一个Leaflet ID,但是这些ID是随机的。因此,我想创建一个将每个Leaflet ID与已知的多边形ID链接起来的数组。
这个概念来自这里。如何与地图外部的传单标记层互动?但我不确定如何实施。
对象“ map._layers”存储所有元素,包括每个多边形的ID。所以我如下遍历它:
var idstore = [];
for (var x in map._layers) {
// here idstore[x['polyid']] = x;
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以使用该数组将多边形ID与传单ID关联。结果数组应如下所示:
array('polygonid'=>'leafletid','155447'=>'478','748745' => 479);
Run Code Online (Sandbox Code Playgroud)
我的问题是循环无法正常工作。我只能看到即将出现的前2条记录实际上是叠加层(地图图块)。元素肯定在那个对象中。
我究竟做错了什么?