GeoMOOSE is centered around its services. Services are defined in the mapbook by the <service> tag and they define how GeoMOOSE should communicate with external scripts. There are a number of scenarios in which it is neccessary to call a service on startup. The primary example of this functionality is the ability to zoom to and highlight a feature upon opening the interface.
Given the item query service provided with the demo:
<service name="search_parcels">
<!-- The URL of the service to call -->
<url>php/itemquery.php</url>
<!-- most service have one or two "steps" this one is a non-spatial input -->
<step type="input">
<!-- the field to search against -->
<input type="select" name="qitem" title="Search By:">
<option value="OWNER_NAME">Owner</option>
<option value="PID">Parcel ID</option>
</input>
<!-- this is the actual search string -->
<input type="user" name="qstring" title=""/>
<!-- these are the rest of the settings for the service -->
<input type="hidden" name="layer" value="parcels/all"/>
<input type="hidden" name="zoom_to_first" value="false"/>
<input type="hidden" name="highlight" value="true"/>
</step>
</service>
Using this service there are two important things to note:
To call the service, the url must specify the “call” parameter and the appropriate user-inputs:
geomoose.html?call=search_parcels&qstring=Johnson