将lat / long投影到具有浮点精度而非int的像素

时间:2015-04-13 21:12:13

标签: javascript leaflet mapbox

我正在使用mapbox.js来创建voronoi地图。但是,我在从纬度/经度到屏幕像素的投影精度方面遇到问题,因为精度只是int而不是float。这会导致点在放大/缩小时略有变化,导致整个voronoi贴图发生变化!

编辑:我已更新代码,还包含生成voronoi的代码。您可以看到voronoi代码使用了像素,因此准确性可能会有问题。

var voronoi = d3.geom.voronoi()
    .x(function (d) {
        return d.x;
    })
    .y(function (d) {
        return d.y;
    });

filteredPoints.forEach(function (d) {
    var latlng = new L.LatLng(d.latitude, d.longitude);
    var point = map.latLngToLayerPoint(latlng);
    d.x = point.x;
    d.y = point.y;
}

voronoi(filteredPoints).forEach(function (d) {
            d.point.cell = d;
});

1 个答案:

答案 0 :(得分:1)

阅读传单来源并写相同的内容,除非没有调用round()