Adding Hover-Over Popups to A Layer
===================================

GeoMOOSE supports hover-over popups on both Vector (WFS) and Raster Layers (WMS/MapServer). 

Adding Popups To WFS Layers
---------------------------

Adding popups to Vector layers requires adding the HTML template to the ``map-source`` configuration and the ``popups=true`` attribute to its catalog entry.

The HTML Template
^^^^^^^^^^^^^^^^^


The HTML templates are Dojo-type string templates.  They are slighty different than MapServer templates and use ``${attribute}`` formatting::

	<map-source ...>
		...
                <popup-template><![CDATA[
                <div style="font-size: 1.5em">${namelsad}</div>
                Area of Land: ${aland}<br>
                Area of Water: ${awater}<br>
                <br>
                <a href="https://www.census.gov/2010census/popmap/ipmtext.php?fl=${statefp}:${geoid}" target="_blank">Census Info Page</a>	
		]]></popup-template>
	</map-source>

And in the catalog, ``popups="true"`` is added to the ``<layer>`` entry::

	<layer title="Census Cities - WFS" src="census_cities" activate="true" fade="false" unfade="false" metadata="false" legend="false" popups="true"></layer>


Adding Popups to WMS Layers
---------------------------

The demo includes functionality for WMS popups for both points and polygon representations of the Parcels layer.

The steps required:

1. Create a HTML template.
2. Enable WMS Queries in the Mapfile.
3. Enable Popups for the Layer in the Mapbook.

Create a HTML Template
^^^^^^^^^^^^^^^^^^^^^^

The HTML templates are standard MapServer templates.  The reference for them can be found on the MapServer website.  This is the example included in the GeoMOOSE Demo::

	<!-- MapServer Template -->
	<b>PIN:</b> [PIN]<br/>
	<b>Owner:</b> [OWNER_NAME]<br/>
	<br/>

	<a href="javascript:GeoMOOSE.startService('feature_report', {'src' : 'parcels/parcels', 'PIN' : '[PIN]'});">View Parcel Report</a>

Attributes are substituted using ``[`` and ``]``.  GeoMOOSE can also startup other services from links provided in popups as seen above.

Enable WMS Queries in the Mapfile
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

MapServer requires a few key elements to be included in order to WMS queries to work.

1. ``WEB``'s ``METADATA`` must include ``wms_feature_info_mime_type`` set to ``text/html``. ::
	
	WEB
		...
		METADATA
			...
			'wms_feature_info_mime_type' 'text/html'
		END
	END

2. The ``LAYER`` must have a ``CLASS`` with a ``NAME``.
3. The ``LAYER`` must also have a template ending in ``.html``::

	LAYER
		NAME 'parcel_points'
		CLASS
			NAME 'Parcels!'
			...
		END
		# this references the html file above
		TEMPLATE 'parcels_popup.html'
	END

Enable Popups in the Catalog
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

``popups="true"`` is added to the ``<layer...>`` entry in the catalog::

	<layer title="Parcel Points" src="parcel_points/parcel_points" popups="true"/>







