1

我无法将包含我的 postgres 数据库中的内容的弹出窗口创建到传单中。我的数据库已连接,点显示为图层,但弹出窗口未显示内容。如何指定要放入窗口的属性?

4

1 回答 1

2

当您使用数据库中的 geojson 功能创建 Leaflet 图层时,如下所示:

L.geoJson(geojsonFeature, {
    onEachFeature: onEachFeature
}).addTo(map);

您可以使用 onEachFeature 选项调用您自己的函数,该函数将为您的每个功能定义弹出内容:

function onEachFeature(feature, layer) {

    if (feature.properties && feature.properties.YourPropertyName) {
        layer.bindPopup(feature.properties.YourPropertyName);
    }
}

在这种情况下:您从数据库收到的 geojson 至少应包含如下指定的属性:

var geojsonFeature = {
    "type": "Feature",
    "properties": {
        "YourPropertyName": "Coors Field",
        "anotherProperty": "Baseball Stadium"
    },
    "geometry": {
        "type": "Point",
        "coordinates": [-104.99404, 39.75621]
    }
};

希望这有帮助

于 2013-02-05T14:20:10.150 回答