2015-09-09 6 views
2

Я работаю над измененной по времени карточкой, используя Листовку в качестве базового слоя и файл d3 topojson, поэтому я могу покрасить в некоторых странах. Я использовал http://bost.ocks.org/mike/leaflet/, чтобы начать, и все было великолепно, пока я не попытался затенять в Российской Федерации. Его landmass охватывает несмежные плитки, и когда я пытаюсь добавить стиль заливки к пути #RUS, он ведет себя аномально. Пример: http://dataviz.du.edu/projects/scratch/study_abroad.html Пример займет 1,5 с, чтобы полностью отобразить его, он отображает 3 страны, причем последнее закрашивание Российской Федерации.d3 + проблема с заполнением листка листовки

В этом примере используется файл topojson, который я использовал в других, чистых проектах d3 и заполнил #RUS в этих контекстах без этой проблемы.

Может ли кто-нибудь помочь? Заранее спасибо.

ответ

0

В этом примере используется файл topojson, который я использовал в других, чистых проектах d3 и заполнил #RUS в этих контекстах без этой проблемы.

Вы должны ошибаться, потому что ваш файл TopoJSON на самом деле поврежден. См. Здесь пример с этим файлом прямо с вашего сервера: http://plnkr.co/edit/QOTwV3?p=preview Помните, что я использую простой слой TopoJSON и Leaflet GeoJSON, но он дает точные результаты.

PS. Есть ли причина, почему вы используете D3 для этого? Спросить, потому что то, что я вижу, вы делаете, просто используя Листовку и ТопоЙсон, без D3. Вот простой пример:

function delay(features) { 
    var geojsonLayer = new L.GeoJSON(null, { 
    style: getStyle, 
    }).addTo(map); 
    var delay = 100; 
    features.forEach(function(feature) { 
    delay = delay + 100; 
    setTimeout(function() { 
     geojsonLayer.addData(feature); 
    }, delay); 
    }); 
} 

var url = 'http://crossorigin.me/http://dataviz.du.edu/projects/scratch/worldnew.json'; 

$.getJSON(url, function(data) { 
    var geojsonData = topojson.feature(data, data.objects.test); 
    delay(geojsonData.features); 
}); 
+0

Спасибо. Нет, в этой ситуации не было хорошей причины использовать D3. Я больше знаком с d3, чем с лифтом, поэтому я ценю указатель, который мог бы сделать это без D3. –

Смежные вопросы