class %DeepSee.Component.mapView
extends %ZEN.Component.component, %ZEN.Component.dataView
A specialized Zen component that displays a google map.
Use the height and width attributes to control the size of the map container.
parameter INCLUDEFILES = "script:http://maps.google.com/maps/api/js?sensor=false";
CSV list of additional include files (either .js or .css) that
should be included when this component is used on a page.
By default, the file extension (.js or .css) is used to determine whether an
item in the list is a script include or a style include. You can override
this behavior by adding the terms "script:" or "style:" to the beginning of
the file name or names. This prefix is not used as part of the include filename.
parameter NAMESPACE = "http://www.intersystems.com/deepsee";
This is the XML namespace used for library components.
property infoProperties
as list of %DeepSee.Component.SVG.scoreCardColumn(XMLPROJECTION="ELEMENT",XMLREF=1,XMLTYPECONSTRAINT="CHOICE",ZENSETTING=0);
Define a set of property value to be displayed within the default "info box"
when the user clicks on a map marker.
This only uses a relevant subset of the properties in the scoreCardColumn class.
Currently only the label, dataValue, style,
format, and align properties are used.
property latitude
as %ZEN.Datatype.float [ InitialExpression = 42.36 ];
Initial latitude (as a decimal number).
property latitudeProperty
as %ZEN.Datatype.string [ InitialExpression = "Latitude" ];
Name of property in data source that provides the latitude value for a marker.
property longitude
as %ZEN.Datatype.float [ InitialExpression = 288.92 ];
Initial longitude (as a decimal number).
property longitudeProperty
as %ZEN.Datatype.string [ InitialExpression = "Longitude" ];
Name of property in data source that provides the longitude value for a marker.
property mapType
as %ZEN.Datatype.string(VALUELIST=",ROADMAP,SATELLITE,HYBRID,TERRAIN") [ InitialExpression = "ROADMAP" ];
Initial map display.
property markersDraggable
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, then the markers on this map are draggable.
property onclickmarker
as %ZEN.Datatype.eventHandler;
onclickmarker event handler:
If defined, this event is fired when
the user clicks on a marker within the map.
property zoom
as %ZEN.Datatype.integer [ InitialExpression = 12 ];
Initial zoom level (0 shows entire globe).
method addMarker(id, latitude, longitude, title)
[ Language = javascript ]
Add a marker to the map at given coordinates.
id is a user-defined identifier associated with the marker.
Returns the marker object.
method adjustContentSize(load, width, height)
[ Language = javascript ]
Called when page is loaded or widget is resized.
method getDataSet()
[ Language = javascript ]
Return the dataSet object associated with this view.
method getMapObject()
[ Language = javascript ]
Return the google map API object used by the map view.
method getMapTypeId(type)
[ Language = javascript ]
Given the name of a map type, convert to a map type id.
method initMap(mapDiv)
[ Language = javascript ]
Initialize the map
method notifyViewHandler(reason, data1, data2, data3)
[ Language = javascript ]
Notification that the dataController associated with this dataView has raised an event.
method panToAddress(address)
[ Language = javascript ]
Invoke the google geocoder api to lookup an address string and move the map to view it.
Applications that call this are responsible for adhering to the google geocoder api terms of use.
method removeMarker(marker)
[ Language = javascript ]
Remove a marker from the map.
marker is the marker to remove.
method renderContents()
[ Language = javascript ]
Client-side method to render control.
method setProperty(property, value, value2)
[ Language = javascript ]
Set the value of a named property.