2015-11-15 30 views
0

我使用下面的NPM模块转换到/从纬度/经度和像素:在任意浮点缩放级别下,在网站mercator中向lat/lng和像素转换?

https://www.npmjs.com/package/viewport-mercator-project

这里的用法:

// Create a new viewport. 
var ViewportMercator = require('viewport-mercator-project'); 
// NOTE: `ViewportMercator` objects are immutable by design. 
var viewport = ViewportMercator({ 
    center: [0, 0], 
    zoom: 0, 
    tileSize: 512, 
    dimensions: [600, 800] 
}); 

var lnglat = [0, 0]; 
var pixels = viewport.project(lnglat); // returns [300, 400] 

viewport.unproject(pixels); // returns [0, 0] 

然而,这似乎总是在失败我使用案例,我的中心是-122〜:

ViewportMercator({ 
     center: [37.7833, -122.4167], 
     zoom: 13, 
     tileSize: 512, 
     dimensions: [1000, 778] 
    }); 
> viewport.project([37.7833, -122.4167]) 
[ 500, NaN ] // should return (500, 389) 

我知道这与我的lng值(在center)超出范围-90 < lng < 90,但我该如何解决这个问题?我的尝试视口转换是绝对有效的...

+0

请问为什么要投影**纬度**,即[-90; +90]度?请注意,ViewportMercator需要''center'中的'[longitude,latitude]'形式的数组和'project'的参数。 – ghybs

回答