Skip to content

Commit

Permalink
#701
Browse files Browse the repository at this point in the history
  • Loading branch information
xavijam committed Apr 16, 2012
1 parent 0e0b09c commit e6a8010
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 101 deletions.
74 changes: 12 additions & 62 deletions public/javascripts/admin/show/map/carto_map.js
Original file line number Diff line number Diff line change
Expand Up @@ -703,73 +703,23 @@
// MAP HELPERS //
////////////////////////////////////////
/* Set bbox for the map */
CartoMap.prototype.zoomToBBox = function() {
var me = this;
$.ajax({
method: "GET",
url: global_api_url+'queries?sql='+escape('select ST_Extent(the_geom) from '+ table_name),
headers: {"cartodbclient":"true"},
success: function(data) {

if (data.rows[0].st_extent!=null) {

// TODO: make this code more widely available (pgis->gmaps bounds) -- {

var coordinates = data.rows[0].st_extent.replace('BOX(','').replace(')','').split(',');

var coor1 = coordinates[0].split(' ');
var coor2 = coordinates[1].split(' ');

var lon0 = coor1[0];
var lat0 = coor1[1];
var lon1 = coor2[0];
var lat1 = coor2[1];

// Check bounds

var minlat = -85.0511;
var maxlat = 85.0511;
var minlon = -179;
var maxlon = 179;

/* Clamp X to be between min and max (inclusive) */
var clampNum = function(x, min, max) {
return x < min ? min : x > max ? max : x;
}

lon0 = clampNum(lon0, minlon, maxlon);
lon1 = clampNum(lon1, minlon, maxlon);
lat0 = clampNum(lat0, minlat, maxlat);
lat1 = clampNum(lat1, minlat, maxlat);
CartoMap.prototype.zoomToBBox = function(corners) {

var sw = new google.maps.LatLng(lat0, lon0);
var ne = new google.maps.LatLng(lat1, lon1);
var bounds = new google.maps.LatLngBounds(sw, ne);

// -- }
// If request getCartoDBBox, get from helpers
if (!corners) {
gettingTableBounds(table_name,window.map.carto_map.zoomToBBox);
} else {
if (!$.isEmptyObject(corners)) {
var bounds = new google.maps.LatLngBounds(corners.sw, corners.ne);


me.map_.fitBounds(bounds);
window.map.carto_map.map_.fitBounds(bounds);

if (me.map_.getZoom()<2) {
me.map_.setZoom(2);
}
} else {
me.map_.setZoom(2);
if (window.map.carto_map.map_.getZoom()<2) {
window.map.carto_map.map_.setZoom(2);
}

// After move the map, start wax
me.startWax();
},
error: function(e) {

// Set map to world view
me.map_.setZoom(2)

// Start wax
me.startWax();
}
});
window.map.carto_map.startWax();
}
}


Expand Down
49 changes: 10 additions & 39 deletions public/javascripts/admin/show/view/view.js
Original file line number Diff line number Diff line change
Expand Up @@ -1113,45 +1113,16 @@
});
}

function zoomToBBox() {
var me = this;
$.ajax({
method: "GET",
url: global_api_url+'queries?sql='+encodeURIComponent('select ST_Extent(the_geom) from '+ table_name),
headers: {"cartodbclient":"true"},
success: function(data) {
if (data.rows[0].st_extent!=null) {
var coordinates = data.rows[0].st_extent.replace('BOX(','').replace(')','').split(',');

var coor1 = coordinates[0].split(' ');
var coor2 = coordinates[1].split(' ');
var bounds = new google.maps.LatLngBounds();

// Check bounds
if (coor1[0] > 180
|| coor1[0] < -180
|| coor1[1] > 90
|| coor1[1] < -90
|| coor2[0] > 180
|| coor2[0] < -180
|| coor2[1] > 90
|| coor2[1] < -90) {
coor1[0] = '-30';
coor1[1] = '-50';
coor2[0] = '110';
coor2[1] = '80';
}

bounds.extend(new google.maps.LatLng(coor1[1],coor1[0]));
bounds.extend(new google.maps.LatLng(coor2[1],coor2[0]));

embed_map.fitBounds(bounds);
}

},
error: function(e) {
}
});
function zoomToBBox(corners) {
// If request getCartoDBBox, get from helpers
if (!corners) {
gettingTableBounds(table_name,zoomToBBox);
} else {
if (!$.isEmptyObject(corners)) {
var bounds = new google.maps.LatLngBounds(corners.sw, corners.ne);
embed_map.fitBounds(bounds);
}
}
}

function changeEmbedCode() {
Expand Down

0 comments on commit e6a8010

Please sign in to comment.