[core] Do not consider X axis when constraining scale
This commit is contained in:
Submodule mapbox-gl-js updated: 9aed7d6785...8e267fe230
@@ -73,6 +73,7 @@
|
||||
"render-tests/canvas/default": "skip - js specific",
|
||||
"render-tests/collator/resolved-locale": "Some test platforms don't resolve 'en' locale",
|
||||
"render-tests/collator/default": "Some test platforms don't resolve 'en' locale",
|
||||
"render-tests/custom-layer-js/depth": "skip - js specific",
|
||||
"render-tests/custom-layer-js/null-island": "skip - js specific",
|
||||
"render-tests/custom-layer-js/tent-3d": "skip - js specific",
|
||||
"render-tests/debug/collision": "https://github.com/mapbox/mapbox-gl-native/issues/3841",
|
||||
@@ -90,6 +91,7 @@
|
||||
"render-tests/fill-extrusion-pattern/missing": "https://github.com/mapbox/mapbox-gl-js/issues/3327",
|
||||
"render-tests/fill-extrusion-pattern/opacity": "https://github.com/mapbox/mapbox-gl-js/issues/3327",
|
||||
"render-tests/fill-extrusion-pattern/feature-expression": "https://github.com/mapbox/mapbox-gl-js/issues/3327",
|
||||
"render-tests/fill-extrusion-vertical-gradient/false": "https://github.com/mapbox/mapbox-gl-native/issues/13462",
|
||||
"render-tests/fill-pattern/update-feature-state": "skip - port https://github.com/mapbox/mapbox-gl-js/pull/6263 - needs issue",
|
||||
"render-tests/geojson/inline-linestring-fill": "current behavior is arbitrary",
|
||||
"render-tests/geojson/inline-polygon-symbol": "behavior needs reconciliation with gl-js",
|
||||
|
||||
@@ -375,12 +375,9 @@ void TransformState::constrain(double& scale_, double& x_, double& y_) const {
|
||||
return;
|
||||
}
|
||||
|
||||
const double ratioX = (rotatedNorth() ? size.height : size.width) / util::tileSize;
|
||||
// Constrain scale to avoid zooming out far enough to show off-world areas on the Y axis.
|
||||
const double ratioY = (rotatedNorth() ? size.width : size.height) / util::tileSize;
|
||||
|
||||
// Constrain minimum scale to avoid zooming out far enough to show off-world areas on the Y axis.
|
||||
// If Y axis ratio is too small to be constrained, use X axis ratio instead.
|
||||
scale_ = util::max(scale_, ratioY < 1.0 ? ratioX : ratioY);
|
||||
scale_ = util::max(scale_, ratioY);
|
||||
|
||||
// Constrain min/max pan to avoid showing off-world areas on the Y axis.
|
||||
double max_y = (scale_ * util::tileSize - (rotatedNorth() ? size.width : size.height)) / 2;
|
||||
|
||||
@@ -50,10 +50,9 @@ void HeatmapBucket::addFeature(const GeometryTileFeature& feature,
|
||||
auto y = point.y;
|
||||
|
||||
// Do not include points that are outside the tile boundaries.
|
||||
// Include all points in Still mode. You need to include points from
|
||||
// neighbouring tiles so that they are not clipped at tile boundaries.
|
||||
if ((mode == MapMode::Continuous) &&
|
||||
(x < 0 || x >= util::EXTENT || y < 0 || y >= util::EXTENT)) continue;
|
||||
if (x < 0 || x >= util::EXTENT || y < 0 || y >= util::EXTENT) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (segments.empty() || segments.back().vertexLength + vertexLength > std::numeric_limits<uint16_t>::max()) {
|
||||
// Move to a new segments because the old one can't hold the geometry.
|
||||
|
||||
Reference in New Issue
Block a user