Open($resourceService, $mapName); $mapLayers = $map->GetLayers(); $nIndex = count($layers); $nLayers = $mapLayers->GetCount(); for ($i=0; $i<$nLayers; $i++) { if ($layers[$i] == $i) { continue; } $found = -1; for ($j=$i+1; $j<$nIndex; ++$j) { if ($layers[$j] == $i) { $found = $j; break; } } if ($found >= 0) { $layerToMove = $mapLayers->GetItem($i); //$layerDef = $layerToMove->GetLayerDefinition(); //$mapLayers->Insert($found, new MgLayerBase($layerDef,$resourceService)); $mapLayers->RemoveAt($i); $mapLayers->Insert($found, $layerToMove); } else { $mapLayers->RemoveAt($i); } break; } /* $nLayers = count($layers); $layerDefs = array(); for ($i=0; $i<$nLayers; $i++) { $layer = $mapLayers->GetItem($layers[$i]); array_push($layerDefs, $layer->GetLayerDefinition() ); } $mapLayers->Clear(); $nLayers = count($layerDefs); for ($i=0; $i<$nLayers; $i++) { $layer = new MgLayer(new MgResourceIdentifier($layerDefs[$i]), $resourceService); $mapLayers->Add($layer); } */ $map->Save($resourceService); echo "success: true"; } catch (MgException $e) { echo "ERROR: '" . $e->GetMessage() . "\n"; echo $e->GetDetails() . "\n"; echo $e->GetStackTrace() . "',\n"; echo "success: false, layerindex: [".$_REQUEST['layerindex']."]"; } echo "}"; ?>