Allow and use floating-point zoom levels in the static endpoints
This commit is contained in:
parent
161de17803
commit
de7f5f0366
1 changed files with 11 additions and 11 deletions
|
@ -426,14 +426,13 @@ module.exports = function(options, repo, params, id, dataResolver) {
|
||||||
|
|
||||||
var minCorner = mercator.px([bbox[0], bbox[3]], z),
|
var minCorner = mercator.px([bbox[0], bbox[3]], z),
|
||||||
maxCorner = mercator.px([bbox[2], bbox[1]], z);
|
maxCorner = mercator.px([bbox[2], bbox[1]], z);
|
||||||
while ((((maxCorner[0] - minCorner[0]) * (1 + 2 * padding) > w) ||
|
w /= (1 + 2 * padding);
|
||||||
((maxCorner[1] - minCorner[1]) * (1 + 2 * padding) > h)) && z > 0) {
|
h /= (1 + 2 * padding);
|
||||||
z--;
|
|
||||||
minCorner[0] /= 2;
|
z -= Math.max(
|
||||||
minCorner[1] /= 2;
|
Math.log((maxCorner[0] - minCorner[0]) / w),
|
||||||
maxCorner[0] /= 2;
|
Math.log((maxCorner[1] - minCorner[1]) / h)
|
||||||
maxCorner[1] /= 2;
|
) / Math.LN2;
|
||||||
}
|
|
||||||
|
|
||||||
return z;
|
return z;
|
||||||
};
|
};
|
||||||
|
@ -443,11 +442,12 @@ module.exports = function(options, repo, params, id, dataResolver) {
|
||||||
':scale(' + SCALE_PATTERN + ')?\.:format([\\w]+)';
|
':scale(' + SCALE_PATTERN + ')?\.:format([\\w]+)';
|
||||||
|
|
||||||
var centerPattern =
|
var centerPattern =
|
||||||
util.format(':lon(%s),:lat(%s),:z(\\d+)(@:bearing(%s)(,:pitch(%s))?)?',
|
util.format(':lon(%s),:lat(%s),:z(%s)(@:bearing(%s)(,:pitch(%s))?)?',
|
||||||
FLOAT_PATTERN, FLOAT_PATTERN, FLOAT_PATTERN, FLOAT_PATTERN);
|
FLOAT_PATTERN, FLOAT_PATTERN, FLOAT_PATTERN,
|
||||||
|
FLOAT_PATTERN, FLOAT_PATTERN);
|
||||||
|
|
||||||
app.get(util.format(staticPattern, centerPattern), function(req, res, next) {
|
app.get(util.format(staticPattern, centerPattern), function(req, res, next) {
|
||||||
var z = req.params.z | 0,
|
var z = +req.params.z,
|
||||||
x = +req.params.lon,
|
x = +req.params.lon,
|
||||||
y = +req.params.lat,
|
y = +req.params.lat,
|
||||||
bearing = +(req.params.bearing || '0'),
|
bearing = +(req.params.bearing || '0'),
|
||||||
|
|
Loading…
Reference in a new issue