从URL

时间:2015-07-16 03:48:58

标签: leaflet

我将另一个页面上的链接传递给我的地图。我的地图有基于此latlng的标记。所以我传递的正是地图标记用于在地图上显示的内容。

var hash = window.location.hash;
var hashless = hash.replace("#", "");
var ll = hashless.split(",", 2);
map.setView(new L.LatLng(ll[0], ll[1]), 14);

这很有效,但我正在努力让标记显示它的信息。我希望只有点击的链接才能成为显示弹出窗口的标记。我能够直接缩放到标记,但无法以合理的方式使弹出窗口工作。

我已经尝试了一些东西,但map.getBounds()似乎是我应该使用的那个,除非你可以根据Lat / Lng识别标记。你能吗?

我在map.on函数中使用了边界....但是没有一个事件似乎真的很好用。原本以为LOAD会这样做,但是没有结果... viewreset,mousemove等...都显示了这个简单函数的弹出窗口,但它并没有任何好处,因为它闪烁等...当移动东西时: / p>

map.on('viewreset', function () {
                // Construct an empty list to fill with onscreen markers.
                console.log("YA");
                var inBounds = [], bounds = map.getBounds();
                datalayer.eachLayer(function (marker) {
                    if (bounds.contains(marker.getLatLng())) {
                        inBounds.push(marker.options.title);
                        marker.openPopup();
                    }
                });
            });

如何将我的链接中的marker.openPopup()设置为传递给它的lat / lng的当前标记?

0 个答案:

没有答案