Google Maps V3 - How to calculate the zoom level for a given bounds

. содержит (), лучший метод для списков, но для карт необходимо будет использовать .containsKey () или .containsValue ()

[a:1,b:2,c:3].containsValue(3)
[a:1,b:2,c:3].containsKey('a')
130
задан Neuron 10 February 2019 в 15:43
поделиться

1 ответ

Вычисление уровня масштабирования для долгот Giles Gardam хорошо работает для меня. Если Вы хотите вычислить коэффициент масштабирования для широты, это - легкое решение, которое хорошо работает:

double minLat = ...;
double maxLat = ...;
double midAngle = (maxLat+minLat)/2;
//alpha is the non-negative angle distance of alpha and beta to midangle
double alpha  = maxLat-midAngle;
//Projection screen is orthogonal to vector with angle midAngle
//portion of horizontal scale:
double yPortion = Math.sin(alpha*Math.pi/180) / 2;
double latZoom = Math.log(mapSize.height / GLOBE_WIDTH / yPortion) / Math.ln2;

//return min (max zoom) of both zoom levels
double zoom = Math.min(lngZoom, latZoom);
0
ответ дан 24 November 2019 в 00:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: