Skip to content

Commit

Permalink
impose a cap on zoom level for current location (bug 38983)
Browse files Browse the repository at this point in the history
In certain areas where there are no monuments e.g. Australia we are
searching an extremely large number of zoom levels.

This caps the zoom levels we try to just 5 zoom levels (we might tweak
this later) which in most cases gives a city view.
  • Loading branch information
jrobson committed Aug 2, 2012
1 parent 7f25d33 commit 0c2fb4d
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions assets/www/js/app.js
Expand Up @@ -534,17 +534,19 @@ require( [ 'jquery', 'l10n', 'geo', 'api', 'templates', 'monuments', 'monument',

function showMonumentsForPosition( latitude, longitude, zoomLevel ) {
var d, map, bounds, nw, se,
maxZoom,
pos = { lat: latitude, lon: longitude };

map = geo.getMap();
zoomLevel = zoomLevel || map.getMaxZoom();
maxZoom = map.getMaxZoom();
zoomLevel = zoomLevel || maxZoom;
geo.setCenterAndZoom( pos, zoomLevel, true );
bounds = map.getBounds();
nw = bounds.getNorthWest();
se = bounds.getSouthEast();
d = monuments.getInBoundingBox( nw.lng, se.lat, se.lng, nw.lat ).
done( function( monuments ) {
if( monuments.length === 0 ) {
if( monuments.length === 0 && zoomLevel > maxZoom - 5 ) {
showMonumentsForPosition( latitude, longitude, zoomLevel - 1 );
} else {
showMonumentsMap( monuments );
Expand Down Expand Up @@ -738,6 +740,7 @@ require( [ 'jquery', 'l10n', 'geo', 'api', 'templates', 'monuments', 'monument',
app: {
clearHistory: clearHistory,
goBack: goBack,
showMonumentsForPosition: showMonumentsForPosition,
showMonumentsList: showMonumentsList,
resolveImageThumbnail: resolveImageThumbnail,
showPage: showPage
Expand Down

0 comments on commit 0c2fb4d

Please sign in to comment.