单击标记打开地图旁边的图像

时间:2014-06-18 08:48:14

标签: javascript jquery leaflet

我有一张传单地图,里面有很多标记,我想要的是打开地图旁边的图像,该图像链接到标记点击上的某个标记。我只知道我需要javascript / jquery和ajax来完成这项工作。

以下是一个示例:http://www.washingtonpost.com/wp-srv/special/local/14th-street-businesses/

任何提示/提示/教程表示赞赏。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

以下是您问题的解决方案:http://franceimage.github.io/leaflet/10/

var selectedMarker = false;

var geojsonMarkerOptions = {
        radius: 8,
        fillColor: "#ff7800",
        color: "#000",
        weight: 1,
        opacity: 1,
        fillOpacity: 0.8
    };

L.geoJson(fi_markers, {
    pointToLayer: function (feature, latlng) {
        var marker = L.circleMarker(latlng, geojsonMarkerOptions);

        marker.on('click', function (e) {
            var feature = e.target.feature;
            var content = '<h3>' + feature.properties.popupContent + '</h3><a href="http://www.franceimage.com/en/places-to-visit/?p=' + feature.properties.id + '">' + feature.properties.thumbnail + '</a>';
            document.getElementById("events").innerHTML = content;

            if(selectedMarker != false) {
                selectedMarker.setStyle({ fillColor: "#ff7800"});
            }
            marker.setStyle({ fillColor: "#000000"});
            selectedMarker = marker;
        });

        return marker;              
    }
}).addTo(map);

这种方式你可以做到(还有很多其他的)

在这个例子中:

  1. 没有ajax调用(也没有jquery)。数据从geoJson结构加载(查看http://franceimage.github.io/leaflet/10/data.geojson

  2. 弹出窗口的html内容是使用geojson功能的属性创建的

  3. 我使用过CircleMarker,因此改变颜色是小菜一碟

  4. 我希望这会有所帮助