var exists = false; eventAfterMapRequest.register(function () { mod_changeEPSG_setBox(); }); eventInit.register(function () { // mod_changeEPSG_init(); }); function mod_changeEPSG_setBox(){ $("#"+myId+" option").each(function () { if (this.value == mb_mapObj[0].epsg) { isEPSG = true; $(this).attr("selected", "selected"); } }); } $("#"+myId).change(function () { var srsArray = []; for (var i = 0; i < mb_mapObj.length; i++) { var currentSrs = { "frameName" : mb_mapObj[i].elementName, "epsg" : mb_mapObj[i].epsg, "extent" : mb_mapObj[i].extent, "width" : mb_mapObj[i].width, "height" : mb_mapObj[i].height }; srsArray.push(currentSrs); } var req = new Mapbender.Ajax.Request({ "method":"changeEpsg", "parameters":{ "srs":srsArray, "newSrs": $("#"+myId).get(0).value } }); req.send("../php/mod_changeEPSG_server.php", function (obj, success, message) { if (!success) { new Mb_exception("!!!!!!"+message); return; } var newExtent = obj; for(var i = 0; i < newExtent.length; i++) { if(newExtent[i].frameName == myTarget){ var ind = getMapObjIndexByName(myTarget); for(var ii = 0; ii < mb_mapObj[ind].mb_MapHistoryObj.length; ii++) { if (mb_mapObj[ind].mb_MapHistoryObj[ii].epsg == newExtent[i].newSrs) { exists = ii; var goback = true; } } if (goback) { var extArray = mb_mapObj[ind].mb_MapHistoryObj[exists].extent.split(","); var newExt = new Extent( parseFloat(extArray[0]), parseFloat(extArray[1]), parseFloat(extArray[2]), parseFloat(extArray[3]) ); mb_mapObj[ind].setSrs({ srs: newExtent[i].newSrs, extent: newExt }); } else{ mb_mapObj[ind].setSrs({ srs: newExtent[i].newSrs, extent: new Extent( parseFloat(newExtent[i].minx), parseFloat(newExtent[i].miny), parseFloat(newExtent[i].maxx), parseFloat(newExtent[i].maxy) ) }); } } else { var ind = getMapObjIndexByName(newExtent[i].frameName); mb_mapObj[ind].setSrs({ srs: newExtent[i].newSrs, extent: new Extent( parseFloat(newExtent[i].minx), parseFloat(newExtent[i].miny), parseFloat(newExtent[i].maxx), parseFloat(newExtent[i].maxy) ) }); } setMapRequest(newExtent[i].frameName); } }); });