我在这里按照本教程http://leafletjs.com/examples/choropleth.html使用GEOJSON格式的状态建立一个州级别的等值线。
Leaflet GeoJSON允许我们发送AJAX请求以获取外部参数。像这样的东西
$.ajax({
dataType: 'json',
url: 'atl_metro.geojson',
success: function(data) {
$(data.features).each(function(key, data) {
var zips = L.geoJson(data,{
onEachFeature: onEachFeature,
style: style
}).addTo(map);
});
}
}).error(function() {});
有没有办法使用TopJSON?
答案 0 :(得分:1)
为什么不使用普通香草TopoJSON并抛弃杂食动物插件。它只是一个包装器而又是你不需要的另一个依赖项,因为TopoJSON本身非常易于使用。
var url = 'https://rawgit.com/mbostock/topojson/master/examples/us-10m.json';
// Fetch topojson file via jQuery
$.getJSON(url, function(data) {
// Convert the topojson to geojson
var geojsonData = topojson.feature(data, data.objects.counties);
// Create new geojsonlayer with the data
var geojsonLayer = new L.GeoJSON(geojsonData, {
style: getStyle,
}).addTo(map);
});
function getStyle(feature) {
return {
weight: 1,
opacity: 1,
color: '#fff',
fillOpacity: 0.7,
// fillColor: getColor(feature.properties.density)
// TopoJSON used in this example doesn't have any data attributes
// so throwing in some random colors
fillColor: '#'+Math.floor(Math.random()*16777215).toString(16)
};
}
这是关于Plunker的一个工作示例:http://plnkr.co/edit/5Kn94H?p=preview