Aktualisieren von Code auf die SOAP-API

Aktualisieren Sie den Lösungscode, um die SOAP/WSDL-API von Spectrum Spatial für Feature-, Mapping- und Geocoding-Dienstanforderungen anstelle der Envinsa .NET-API zu verwenden.

  1. Ersetzen Sie die WithinBoundary-Anforderung des Envinsa .NET API Directory Service durch die SearchBySQL-Anforderung des Feature-Dienstes der SOAP/WSDL-API von Spectrum Spatial.
    <SearchBySQLRequest:>
        <SQL>select Quality from "/CovLoc/3GIX" where MI_Point(-73.12345, 42.98765, 'epsg:4326') within obj</SQL>
  2. Ersetzen Sie den Envinsa .NET API Presentation Service „PortrayMapRequest“ mithilfe der Eigenschaft „LayerExtension“, um alle anderen Abdeckungslayer mit Ausnahme des ausgewählten Layers aus der Karte auszuschließen. Nutzen Sie dazu die DescribeNamedMap- und RenderMap-Anforderungen des Mapping-Dienstes der SOAP/WSDL-API von Spectrum Spatial, um eine Liste der Layer in der benannten Karte abzurufen und sie so ohne alle anderen Abdeckungslayer (mit Ausnahme des ausgewählten Layers) neu zu erstellen.

    Beispiel der SOAP-Demoseite des Mapping-Dienstes: Rendern einer Karte mit Feature-Layer und benutzerdefiniertem Bereichsdesign:

    <S:Body>  
    		<v1:RenderMapRequest imageMimeType="image/png"  
    			returnImage="false">  
    			<v1:MapView xsi:type="v1:ZoomAndCenterMapView">  
    				<v1:Width>800.0</v1:Width>  
    				<v1:Height>600.0</v1:Height>  
    				<v1:ZoomLevel uom="Mile">3000.0</v1:ZoomLevel>  
    				<v1:MapCenter srsName="epsg:4269">  
    					<ns3:Pos>  
    						<ns3:X>-101</ns3:X>  
    						<ns3:Y>42</ns3:Y>  
    					</ns3:Pos>  
    				</v1:MapCenter>  
    			</v1:MapView>  
    			<v1:Map>  
    				<v1:Layer xsi:type="v1:FeatureLayer">  
    					<ns2:Table xsi:type="ns2:NamedTable" name="/Samples/NamedTables/USA" />  
    					<v1:ThemeList>  
    						<ns5:Theme xsi:type="ns5:CustomRangeTheme" expression="Pop_2000">  
    							<ns5:RangeBinList>  
    								<ns5:RangeBin>  
    									<ns5:UpperBound xsi:type="ns7:DoubleValue">  
    										<ns7:Value>20000000</ns7:Value>  
    									</ns5:UpperBound>  
    									<ns5:LowerBound xsi:type="ns7:DoubleValue">  
    										<ns7:Value>0</ns7:Value>  
    									</ns5:LowerBound>  
    									<ns6:Style xsi:type="ns6:NamedStyle" name="/Samples/NamedStyles/AreaStyleGreen" />  
    								</ns5:RangeBin>  
    								<ns5:RangeBin>  
    									<ns5:UpperBound xsi:type="ns7:DoubleValue">  
    										<ns7:Value>40000000</ns7:Value>  
    									</ns5:UpperBound>  
    									<ns5:LowerBound xsi:type="ns7:DoubleValue">  
    										<ns7:Value>0</ns7:Value>  
    									</ns5:LowerBound>  
    									<ns6:Style xsi:type="ns6:NamedStyle" name="/Samples/NamedStyles/AreaStyleRed" />  
    								</ns5:RangeBin>  
    							</ns5:RangeBinList>  
    							<ns5:AllOthers xsi:type="ns6:NamedStyle" name="/Samples/NamedStyles/AreaStyleBlue" />  
    						</ns5:Theme>  
    					</v1:ThemeList>  
    				</v1:Layer>  
    			</v1:Map>  
    		</v1:RenderMapRequest>  
    	</S:Body>  
  3. Ersetzen Sie den Envinsa .NET API LocationUtility Service „GeocodeRequest“ mit der Dienstanforderung „GeocodeUSAddresse“ der Spectrum SOAP/WSDL-API.
    <GeocodeUSAddressRequest xmlns="http;//<server>:<port>/services/GeocodeUSAddress">
    <context>
    	<account.id>admin</account.id>
    	<account.password>admin</account.password>
    </context>
    <optional/>
    <rows>
    	<row>
    		<AddressLine>400 Main St</AddressLine>
    		<City>Hamilton</City>
    		<StateProvince>KS</StateProvince>
    		<PostalCode>56789</PostalCode>
    	</row>
    </rows>
    </GeocodeUSAddressRequest>