<docbook><section><title>OATDOCmap</title><para> </para>
<title> map.js</title> map.js
<para>Abstract API atop various mapping providers.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Objects</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map(something, provider, optionsObject, specificOptions)</bridgehead>
<para>Creates a <computeroutput>map</computeroutput> as a child of <computeroutput>something</computeroutput>.
 <computeroutput>provider</computeroutput> is one of <computeroutput>TYPE_</computeroutput> constants.
 <computeroutput>optionsObject</computeroutput> may contain: </para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput> <emphasis>fix</emphasis></computeroutput> - one of <computeroutput>FIX_</computeroutput> constants, used when markers are too close to each other </listitem>
<listitem><computeroutput> <emphasis>fixDistance</emphasis></computeroutput> - distance for shifting markers </listitem>
<listitem><computeroutput> <emphasis>fixEpsilon</emphasis></computeroutput> - euclidean distance limit of markers to be taken as identical (in degrees).
 The <computeroutput>specificOptions</computeroutput> object may contain any engine-specific options, such as <computeroutput>{draggableCursor:crosshair}</computeroutput> for Google Maps.</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Methods</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::addTypeControl()</bridgehead>
<para>Adds a &#39;map type&#39; control to the map.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::addMapControl()</bridgehead>
<para>Adds a &#39;map navigation&#39; control to the map.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::setMapType(type)</bridgehead>
<para>Sets map <computeroutput>type</computeroutput> to one of <computeroutput>MAP_</computeroutput> constants.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::centerAndZoom(lat, long, zoom)</bridgehead>
<para>Pans the map to given <computeroutput>lat</computeroutput> and <computeroutput>long</computeroutput> coordinates and zooms.
 <computeroutput>zoom</computeroutput> ranges from 0 (far) to 16 (close).</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::setZoom(zoom)</bridgehead>
<para>Changes current <computeroutput>zoom</computeroutput> level.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::getZoom()</bridgehead>
<para>Returns current <computeroutput>zoom</computeroutput> level.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::addMarker(group, lat, long, file, w, h, callback)</bridgehead>
<para>Adds a <computeroutput>marker</computeroutput> to the map.
 Marker belongs to marker <computeroutput>group</computeroutput> group(any internal value) and is located at coordinates specified in <computeroutput>lat</computeroutput> and <computeroutput>long</computeroutput>.
 <computeroutput>file</computeroutput> specifies an image file name (wandhare its dimensions), false when default image should be used.
 Finally, <computeroutput>callback</computeroutput> is a function to be executed when user clicks marker.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::removeMarker(marker)</bridgehead>
<para>Removes existing <computeroutput>marker</computeroutput>.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::removeMarkers(group)</bridgehead>
<para>Removes all markers which belong to <computeroutput>group</computeroutput>.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::openWindow(marker, something)</bridgehead>
<para>Opens window, anchored to <computeroutput>marker</computeroutput>.
 <computeroutput>something</computeroutput> is a DOM node to be appended into window.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::closeWindow()</bridgehead>
<para>Closes opened window.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::optimalPosition(pointArray)</bridgehead>
<para>Zooms map so all points specified in <computeroutput>pointArray</computeroutput> (array of 2-element arrays) can be visible simultaneously.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Map::geoCode(address, callback)</bridgehead>
<para>Performs a geocoding lookup of <computeroutput>address</computeroutput>.
 When result is returned, <computeroutput>callback</computeroutput> is executed.
 Its only argument is false when no result was found, or an array of[lat,long].</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Constants</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.MapData.TYPE_</bridgehead>
<para>Constants specifying maps provider</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput><emphasis>OAT.MapData.TYPE_G</emphasis></computeroutput> - specifies Google Maps </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.TYPE_Y</emphasis></computeroutput> - specifies Yahoo! Maps </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.TYPE_MS</emphasis></computeroutput> - specifies Microsoft Virtual Earth Maps </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.TYPE_OL</emphasis></computeroutput> - specifies <ulink url="OpenLayers">OpenLayers</ulink> Maps</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.MapData.MAP_</bridgehead>
<para>Constants specifying map types.</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput><emphasis>OAT.MapData.MAP_MAP</emphasis></computeroutput> - specifies normal </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.MAP_ORTO</emphasis></computeroutput> - specifies orthographic </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.MAP_HYB</emphasis></computeroutput> - specifies hybrid</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.MapData.FIX_</bridgehead>
<para>Constants specifying how markers that are too close to each other will be handled.</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><computeroutput><emphasis>OAT.MapData.FIX_NONE</emphasis></computeroutput> - unhandled </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.FIX_ROUND1</emphasis></computeroutput> - specifies arranged into a circle, with one marker in the middle </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.FIX_ROUND2</emphasis></computeroutput> - specifies arranged into a circle </listitem>
<listitem><computeroutput><emphasis>OAT.MapData.FIX_STACK</emphasis></computeroutput> - specifies stacked</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Example</bridgehead>
<programlisting>var obj = {
        fix:OAT.MapData.FIX_ROUND1,
        fixDistance:20,
        fixEpsilon:0.5
}
var map = new OAT.Map(&quot;myDiv&quot;,OAT.MapData.TYPE_G,obj);
map.centerAndZoom(0,0,8); /* africa, middle zoom */
map.addTypeControl();
map.addMapControl();
map.setMapType(OAT.MapData.MAP_ORTO); /* aerial */
</programlisting><para> <ulink url="CategoryDocumentation">CategoryDocumentation</ulink> <ulink url="CategoryOAT">CategoryOAT</ulink> <ulink url="CategoryOpenSource">CategoryOpenSource</ulink></para>
</section></docbook>