地图圈标记单击时的唯一内容

Map circle markers unique content onclick

本文关键字:唯一 单击 地图      更新时间:2024-03-21

我试图为传单上的每个标记/形状提供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文件中的最后一个条目。我怎么能做到这一点?

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

你想看的是e而不是temp。e是被点击的,temp只是上面循环中剩下的。