$layerContent = $layerDocs[$i]; $fsContent = $fsDocs[$i]; $layerObj = NULL; $mappings = GetLayerPropertyMappings($resourceService, $layer, $layerContent); $_SESSION['property_mappings'][$layer->GetObjectId()] = $mappings; $layerObj->uniqueId = $layer->GetObjectId(); $layerObj->layerName = addslashes($layer->GetName()); //$aLayerTypes = GetLayerTypes($featureService, $layer); $aLayerTypes = GetLayerTypesFromResourceContent($layer, $layerContent); $layerObj->layerTypes = $aLayerTypes; $layerObj->resourceId = $layerDefinitionIds->GetItem($i); $layerObj->parentGroup = $layer->GetGroup() ? $layer->GetGroup()->GetObjectId() : ''; $layerObj->selectable = $layer->GetSelectable(); $layerObj->visible = $layer->GetVisible(); $layerObj->actuallyVisible = $layer->isVisible(); $layerObj->editable = IsLayerEditable($resourceService, $layer, $fsContent); $isBaseMapLayer = $layer->GetLayerType() == MgLayerType::BaseMap; $layerObj->isBaseMapLayer = $isBaseMapLayer; if ($isBaseMapLayer) { $mapObj->hasBaseMapLayers = true; } else { $mapObj->hasDynamicLayers = true; } $layerObj->legendLabel = addslashes($layer->GetLegendLabel()); $layerObj->displayInLegend = $layer->GetDisplayInLegend(); $layerObj->expandInLegend = $layer->GetExpandInLegend(); $oScaleRanges = buildScaleRanges($layer, $layerContent); $_SESSION['scale_ranges'][$layer->GetObjectId()] = $oScaleRanges; //$layerObj->scaleRanges = $oScaleRanges; /*get the min/max scale for the layer*/ $nCount = count($oScaleRanges);
function OutputLayerInfo($layer, $resourceService, $featureService) { $mappings = GetLayerPropertyMappings($resourceService, $layer); if (!isset($_SESSION['property_mappings'])) { $_SESSION['property_mappings'] = array(); } $_SESSION['property_mappings'][$layer->GetObjectId()] = $mappings; $layerDefinition = $layer->GetLayerDefinition(); $aLayerTypes = GetLayerTypes($featureService, $layer); //echo '<pre>'; print_r($aLayerTypes); echo '</pre>'; exit; echo "propertyMappings:{"; $sep = ''; foreach ($mappings as $name => $value) { echo $sep . "'{$name}':'{$value}'"; $sep = ','; } echo "},"; echo "uniqueId:'" . $layer->GetObjectId() . "',"; echo "layerName:'" . addslashes($layer->GetName()) . "',"; echo 'layerTypes:['; $sep = ''; for ($j = 0; $j < count($aLayerTypes); $j++) { echo $sep . $aLayerTypes[$j]; $sep = ','; } echo '],'; echo "displayInLegend:" . BooleanToString($layer->GetDisplayInLegend()) . ","; echo "expandInLegend:" . BooleanToString($layer->GetExpandInLegend()) . ","; echo "resourceId:'" . $layerDefinition->ToString() . "',"; echo "parentGroup:"; echo $layer->GetGroup() ? "'" . $layer->GetGroup()->GetObjectId() . "'," : 'null,'; echo "legendLabel:'" . addslashes($layer->GetLegendLabel()) . "',"; echo "selectable:" . BooleanToString($layer->GetSelectable()) . ","; echo "visible:" . BooleanToString($layer->GetVisible()) . ","; echo "actuallyVisible:" . BooleanToString($layer->isVisible()) . ","; if (IsLayerEditable($resourceService, $layer)) { echo "editable:true,"; } else { echo "editable:false,"; } echo buildScaleRanges($layer); }
array_push($aLayerTypes, 'point'); } } } } break; } } //Get layer collection as xml header('content-type: text/xml'); echo "<LayerInfo>\n"; for ($i = 0; $i < count($aLayerTypes); $i++) { echo "<LayerType>" . $aLayerTypes[$i] . "</LayerType>\n"; } echo "<!--is editable?-->"; if (IsLayerEditable($resourceService, $layer)) { echo "<Editable>true</Editable>\n"; } else { echo "<Editable>false</Editable>\n"; } echo "<Shadowed>{$hasShadow}</Shadowed>\n"; echo "<Attributes>\n"; foreach ($attributes as $attribute) { if (!is_array($attribute)) { continue; } echo "<Attribute>\n"; echo "<Name>" . $attribute['name'] . "</Name>"; echo "<Description>" . $attribute['description'] . "</Description>"; echo "<Datatype>" . $attribute['datatype'] . "</Datatype>"; echo "<Readonly>" . $attribute['readonly'] . "</Readonly>";