Ticket #967: patch-967-r5978-C0.diff
| File patch-967-r5978-C0.diff, 2.7 kB (added by elemoine, 10 months ago) |
|---|
-
tests/test_Map.html
old new 726 726 t.eq( ct, 3, "raiseLayer triggered changelayer the right # of times" ); 727 727 } 728 728 729 function test_15_Map_ setCenter(t) {729 function test_15_Map_moveTo(t) { 730 730 t.plan(1); 731 731 732 732 map = new OpenLayers.Map('map'); … … 736 736 {maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)}); 737 737 map.addLayer(baseLayer); 738 738 var ll = new OpenLayers.LonLat(-100,-150); 739 map. setCenter(ll, 0);739 map.moveTo(ll, 0); 740 740 t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat"); 741 741 } 742 742 -
lib/OpenLayers/Map.js
old new 1251 1251 * 1252 1252 * TBD: reconsider forceZoomChange in 3.0 1253 1253 */ 1254 setCenter: function (lonlat, zoom, dragging, forceZoomChange) { 1255 this.dragging = !!dragging; 1256 1254 setCenter: function(lonlat, zoom, dragging, forceZoomChange) { 1255 this.moveTo(lonlat, zoom, { 1256 'dragging': dragging, 1257 'forceZoomChange': forceZoomChange 1258 }); 1259 }, 1260 1261 /** 1262 * Method: moveTo 1263 * 1264 * Parameters: 1265 * lonlat - {<OpenLayers.LonLat>} 1266 * zoom - {Integer} 1267 * options - {Object} 1268 */ 1269 moveTo: function(lonlat, zoom, options) { 1270 // dragging is false by default 1271 var dragging = (options && options.dragging); 1272 // forceZoomChange is false by default 1273 var forceZoomChange = (options && options.forceZoomChange); 1274 // noEvent is false by default 1275 var noEvent = (options && options.noEvent); 1276 1257 1277 if (!this.center && !this.isValidLonLat(lonlat)) { 1258 1278 lonlat = this.maxExtent.getCenterLonLat(); 1259 1279 } … … 1306 1326 // if neither center nor zoom will change, no need to do anything 1307 1327 if (zoomChanged || centerChanged || !dragging) { 1308 1328 1309 if (!dragging) { this.events.triggerEvent("movestart"); } 1329 if (!dragging && !noEvent) { 1330 this.events.triggerEvent("movestart"); 1331 } 1310 1332 1311 1333 if (centerChanged) { 1312 1334 if ((!zoomChanged) && (this.center)) { … … 1372 1394 } 1373 1395 1374 1396 // even if nothing was done, we want to notify of this 1375 if (!dragging) { this.events.triggerEvent("moveend"); } 1397 if (!dragging && !noEvent) { 1398 this.events.triggerEvent("moveend"); 1399 } 1376 1400 }, 1377 1401 1378 1402 /**
