简体   繁体   English

geojson Ajax的传单弹出窗口

[英]Leaflet popup for geojson Ajax

With Leaflet, how have popup on each marker when I load geojson layer with Ajax? 使用Leaflet,当我使用Ajax加载geojson图层时,每个标记上都有弹出式窗口吗?

var map = L.map('map', {
    center: [44.3, -0.3],
    zoom: 9
 });

var my_layer_geoJson= new L.geoJson();
my_layer_geoJson.addTo(map);

$.ajax({
    dataType: "json",
    url: "geojson/data.php",
    success: function(data) {
        $(data.features).each(function(key, data) {
            my_layer_geoJson.addData(data);
        });
     }
 }).error(function() {});

Thank you ! 谢谢 ! Matthieu 马修

I would create the geojson layer when the data is received, like so ... 我会在收到数据时创建geojson层,就像这样...

var map = L.map('map', {
    center: [44.3, -0.3],
    zoom: 9
 });

$.ajax({
    dataType: "json",
    url: "geojson/data.php",
    success: function(data) {
            L.geoJson(data, {
                onEachFeature: onEachFeature
            }).addTo(map);
    }
 }).error(function() {});


function onEachFeature(feature, layer) {
   var popupContent = "<p>Hello world</p>";

   layer.bindPopup(popupContent);
}

Here is a working example: http://plnkr.co/edit/jQVoO3KTvfCisdpkjFrI?p=preview 这是一个工作示例: http : //plnkr.co/edit/jQVoO3KTvfCisdpkjFrI?p=preview

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM