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,但我该如何解决这个问题?我的尝试视口转换是绝对有效的...
请问为什么要投影**纬度**,即[-90; +90]度?请注意,ViewportMercator需要''center'中的'[longitude,latitude]'形式的数组和'project'的参数。 – ghybs