地图圈标记独特内容onclick

时间:2013-12-05 20:58:12

标签: javascript json onclick leaflet

我正在尝试为传单上的每个标记/形状提供onClick的不同信息。我正在使用的数据来自填充了对象的JSON数组。

我以前使用的代码是:

var map = L.map('map').setView([43.16556,  -77.61139], 13);

var OpenStreetMap_DE = L.tileLayer('http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png', {
    attribution: '©>'
}).addTo(map);

//Adding a circle. (point[long,Lat], radius in meters

// Saving for later :-)
// var zip = "/javascripts/zcta5.json",
// hsa = "/javascripts/hsa.json";

var host = new Array();
var temp;
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------

$.getJSON("/allHospitals",function(data,status){
    var color;
    var thefill;

    for (var i = 0; i < data.length; i++) {
        temp = data[i];
        if (temp.name === "rgh") {
            color = '#FF9755';
            thefill = '#009666';
        } else if (temp.name === "strong") {
            color = '#FFE03A';
            thefill = '#7C83FF';
        }
        host.push(L.circle(data[i].lnglat, data[i].pplNum/2, {
        color: color,
        fillColor: thefill,
        fillOpacity: 1,
        weight:3
        }));
        host[i].on("click", onClick);
        host[i].addTo(map);


    }
});

var svg = d3.select(map.getPanes().overlayPane).append("svg"),
g = svg.append("g").attr("class", "leaflet-zoom-hide");

function onOver(e){

}

function onClick (e) {
    console.log(temp);
}

它返回json文件中的最后一个条目。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

function onClick (e) {
    console.log(temp);
}

你想看到的不是温度。 e是被点击的内容,temp只是从上面的循环中剩余的。