protect px-lonlat translation from null values in default layer

git-svn-id: http://svn.openlayers.org/trunk/openlayers@1494 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2006-09-20 09:44:53 +00:00
parent 439ff9943e
commit c52e730378
+22 -14
View File
@@ -409,15 +409,19 @@ OpenLayers.Layer.prototype = {
* @type OpenLayers.LonLat * @type OpenLayers.LonLat
*/ */
getLonLatFromViewPortPx: function (viewPortPx) { getLonLatFromViewPortPx: function (viewPortPx) {
var size = this.map.getSize(); var lonlat = null;
var center = this.map.getCenter(); if (viewPortPx != null) {
var res = this.map.getResolution(); var size = this.map.getSize();
var center = this.map.getCenter();
var delta_x = viewPortPx.x - (size.w / 2); var res = this.map.getResolution();
var delta_y = viewPortPx.y - (size.h / 2);
return new OpenLayers.LonLat(center.lon + delta_x * res , var delta_x = viewPortPx.x - (size.w / 2);
center.lat - delta_y * res); var delta_y = viewPortPx.y - (size.h / 2);
lonlat = new OpenLayers.LonLat(center.lon + delta_x * res ,
center.lat - delta_y * res);
}
return lonlat;
}, },
/** /**
@@ -428,12 +432,16 @@ OpenLayers.Layer.prototype = {
* @type OpenLayers.Pixel * @type OpenLayers.Pixel
*/ */
getViewPortPxFromLonLat: function (lonlat) { getViewPortPxFromLonLat: function (lonlat) {
var resolution = this.map.getResolution(); var px = null;
var extent = this.map.getExtent(); if (lonlat != null) {
return new OpenLayers.Pixel( var resolution = this.map.getResolution();
Math.round(1/resolution * (lonlat.lon - extent.left)), var extent = this.map.getExtent();
Math.round(1/resolution * (extent.top - lonlat.lat)) px = new OpenLayers.Pixel(
); Math.round(1/resolution * (lonlat.lon - extent.left)),
Math.round(1/resolution * (extent.top - lonlat.lat))
);
}
return px;
}, },
/** /**