1

我对 Leaflet(和 stackoverflow)还很陌生,我一直在试图让一个等值线出现在我的地图上。我有一个当前显示的基本传单地图,但是当我尝试让我的 geoJson 显示时,我得到了一个错误。

var map;
window.onload = initialize();

function initialize(){
    setMap();
};

function setMap() {
    map = L.map('map').setView([45, -90], 7);

    var layer = L.tileLayer('http://{s}.acetate.geoiq.com/tiles/acetate/{z}/{x}/{y}.png',{
    attribution: 'Acetate tileset from GeoIQ',
}).addTo(map);

var myLayer = L.geoJson().addTo(map);
myLayer.addData(counties);
};

“counties”是指我创建的 geoJson 文件的名称。我是否需要对其进行样式设置才能显示出来?

任何帮助将不胜感激。

谢谢!

4

1 回答 1

3

让它正确显示是的。从...开始:

function getColor(d) {
    return d > 1000 ? '#800026' :
           d > 500  ? '#BD0026' :
           d > 200  ? '#E31A1C' :
           d > 100  ? '#FC4E2A' :
           d > 50   ? '#FD8D3C' :
           d > 20   ? '#FEB24C' :
           d > 10   ? '#FED976' :
                      '#FFEDA0'; //You pick your own colors using say CSS Color Wheel etc
}

其次是:

function style(feature) {
    return {
        fillColor: getColor(feature.properties.density), //Based on the value in your data
        weight: 2,
        opacity: 1,
        color: 'white',
        dashArray: '3',
        fillOpacity: 0.7
    };
}

L.geoJson(statesData, {style: style}).addTo(map);

如果您想知道此地图上的其他信息。试试这个: http: //leafletjs.com/examples/choropleth.html

于 2013-12-06T22:25:46.763 回答