geojson Ajax的传单弹出窗口 [英] Leaflet popup for geojson Ajax

查看:99
本文介绍了geojson Ajax的传单弹出窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用Leaflet,当我使用Ajax加载geojson图层时,每个标记上如何弹出?

With Leaflet, how have popup on each marker when I load geojson layer with Ajax?

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() {});

谢谢!马修(Matthieu)

Thank you ! Matthieu

推荐答案

我将在接收到数据时创建geojson层,就像这样

I would create the geojson layer when the data is received, like so ...

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);
}

这是一个有效的示例: http://plnkr.co/edit/jQVoO3KTvfCisdpkjFrI?p=预览

Here is a working example: http://plnkr.co/edit/jQVoO3KTvfCisdpkjFrI?p=preview

这篇关于geojson Ajax的传单弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆