Создание графика внутри всплывающей листовки с использованием данных geoJson

Я работаю над картой, которая использует буклет и заполняется данными из файла в формате GeoJson. Моей главной целью является размещение графиков во всплывающих окнах для каждого маркера на карте.

Получить маркеры для каждой функции и открыть всплывающие окна было довольно легко. Тем не менее, мне трудно использовать D3 для добавления во всплывающее окно.

Для простоты моя цель на данный момент - использовать D3, чтобы создать svg внутри каждого всплывающего окна листовки и нарисовать квадрат.

Я нашел несколько примеров, когда люди использовали D3 для создания графиков во всплывающих окнах листовок, но ни один из них также не использовал geoJson и функцию onEachFeature. Это один из примеров:http://jsfiddle.net/6UJQ4/

Вот соответствующая часть моего кода:

L.geoJson( data,  {
    style: function (feature) {
        return { opacity: 0, fillOpacity: 0.5, fillColor: "#0f0" };
    },
    onEachFeature: function(feature, layer){

        var graph_container = '<div class="popupGraph" id="graph" style="width: 200px; height:200px;"></div>';

        layer.bindPopup(feature.properties.name + '<br>' + graph_container);    

        var svg = d3.select("#graph").selectAll("svg").append("svg").attr("width", 50).attr("height", 200);   

        var rectangle = svg.append("rect").attr("width", 25).attr("height", 25);

    }
}).addTo(map);

Я считаю, что у меня есть проблемы, потому что D3 не может найти div graph_container, однако я немного озадачен тем, как это исправить.

Если у кого-то есть опыт совместного использования D3, Leaflet и geoJson, и он мог бы объяснить мне, как сделать так, чтобы мой квадрат отображался во всплывающих окнах, или если кто-нибудь знает источник, который мог бы мне помочь. Я был бы очень признателен. Заранее спасибо!

ОБНОВИТЬ: Биты решили мою проблему! Если кому-то нужен рабочий пример использования D3 во всплывающих окнах Leaflet в сочетании с GeoJson, Битс разместил его в комментариях, но я также опубликую его здесь:http://jsfiddle.net/2XfVc/132/

Ответы на вопрос(1)

Ваш ответ на вопрос