= Inserts a dynamic Google Map into wiki pages = == Description == This macro lets the user insert a full dynamic [http://maps.google.com/ Google Map]. Because a lot of javascript is used (by Google) a [http://local.google.com/support/bin/answer.py?answer=16532&topic=1499 Google Map compatible browser] is needed. Newer version of Firefox and MS Internet Explorer are compatible. For javascript-less static maps use the similar GoogleStaticMapMacro. '''Please note that this is an alpha version which still lacks some functionality.''' Multiple Google Maps on the same wiki page are actively supported. '''Feedback''': I would like to get some [mailto:martin@scharrer-online.de?subject=Feedback%20GoogleMapMacro user feedback] for this macro. Feel free to request additional features as long there are supported by the [http://code.google.com/apis/maps/ Google Maps API]. == Bugs/Feature Requests == Existing bugs and feature requests for GoogleMapMacro are [report:9?COMPONENT=GoogleMapMacro here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=GoogleMapMacro&owner=martin_s new ticket]. == Download == Download the zipped source from [download:googlemapmacro here]. == Source == You can check out GoogleMapMacro from [http://trac-hacks.org/svn/googlemapmacro/0.11 here] using Subversion, or [source:googlemapmacro/0.11 browse the source] with Trac. There is a develop version which can be unstable: [http://trac-hacks.org/svn/googlemapmacro/dev/0.11 check-out] | [source:googlemapmacro/dev/0.11 browse] == Installation & Configuration == Just copy the [http://trac-hacks.org/browser/googlemapmacro/0.11/googlemap.py?format=raw python file] in the `plugin` directory of your trac installation. A different Google Map API key is needed for every web domain which can be [http://code.google.com/apis/maps/signup.html get for free from Google]. To enable the macro put the following into your `trac.ini` file, which is located in the `config` directory of your trac installation. You need to restart trac to reread the macro file and the configuration file. {{{ [components] googlemap.* = enabled [googlemap] api_key = ## Optional default settings: #default_size = 400x400 #default_zoom = 6 }}} == Usage == The macro knows the following arguments, which can be used in the normal 'key1=value1,key2=value2,...' syntax. `address` (or no key):: Sets the center of the map to the given address. Please use semi-colons ('`;`') to separate the street, city and country. The value can be surrounded by quotes, e.g. `"Street; City; Country"`. `center`:: Sets the center of the map to the given coordinates. The format is `{longitude}:{latitude}`. `zoom`:: Sets zoom factor. Allowed values are between 0 (whole world) and 19 (single house). Very high zoom values might not be supported by Google Maps for all parts of the world. `size`:: The size in the format `{width}x{height}` as numbers in pixel, e.g.: `300x300` means 300px width and height. `types` (optional):: Sets the map types selectable by the user, separated by colons ('`:`'). If not given the standard types of Google Maps are used (Normal, Satellite, Hybrid). The following types are available (values are case-insensitive): * `normal` Normal street-map * `satellite` Satellite picture * `hybrid` Satellite picture with streets as overlay * `physical` Terrain map `type` (optional):: Sets the initial map type. See the `types` argument for the available types. If this argument is not given the first listed type under `types` is used initially. `controls` (optional):: Sets the used map controls. Multiple controls can be given, separated by colon ('`:`'). If not set the controls `MapType` and `LargeMap` are used. If set but empty no controls are displayed. The following controls are available (descriptions taken from the [http://code.google.com/apis/maps/documentation/reference.html#GControlImpl Google Map API page]): * `LargeMap`: Control with buttons to pan in four directions, and zoom in and zoom out. * `SmallMap`: Control with buttons to pan in four directions, and zoom in and zoom out, and a zoom slider. * `SmallZoom`: Control with buttons to zoom in and zoom out. * `Scale`: Control that displays the map scale. * `MapType`: Standard map type control for selecting and switching between supported map types via buttons. * `HierarchicalMapType`: Drop-down map type control for switching between supported map types. * `OverviewMap`: Collapsible overview mini-map in the corner of the main map for reference location and navigation (through dragging). == Examples == === Using geographic coordinates === Please use a colon, not a comma, as separator for the coordinates. {{{ [[GoogleMap(center=50.0:10.0,zoom=10,size=400x400)]] }}} === Using an address === Please use semicolons, not commas, as separators in the address. {{{ [[GoogleMap(address="Street; City; County",zoom=10,size=400x400)]] }}} or {{{ [[GoogleMap("Street; City; County",zoom=10,size=400x400)]] }}} Please note that the address is converted into coordinates by user-side javascript every time the wiki page is loaded. If this fails no map will be shown, only an empty gray rectangle. Server side address conversion including caching is underway. === Using both === Doesn't make this much sense, but is supported anyway. This could be used as failsafe if you aren't sure if the address resolution will be successful. {{{ [[GoogleMap(center=50.0:10.0,address="Street; City; County",zoom=10,size=400x400)]] }}} The given coordinates will be shown until the address is resolved, which can take a little when the user has a slow internet connection. After (and if) the address is resolved the map will be centered on it. === Select Map Types === To show a map with the standard map types where the satellite map is preselected: {{{ [[GoogleMap("Street; City; County",zoom=10,size=400x400,type=satellite)]] }}} To only show a satellite map (please note the added '`s`'): {{{ [[GoogleMap("Street; City; County",zoom=10,size=400x400,types=satellite)]] }}} To show a map with hybrid and satellite map types (in this order) where the satellite map is preselected: {{{ [[GoogleMap("Street; City; County",zoom=10,size=400x400,types=hybrid:satellite,type=satellite)]] }}} To show a map with hybrid and satellite map types (in this order) where the hybrid map is preselected: {{{ [[GoogleMap("Street; City; County",zoom=10,size=400x400,types=hybrid:satellite)]] or [[GoogleMap("Street; City; County",zoom=10,size=400x400,types=hybrid:satellite,type=hybrid)]] }}} == Recent Changes in the Release Branch == [[ChangeLog(googlemapmacro/0.11, 3)]] == Recent Changes in the Develop Branch == [[ChangeLog(googlemapmacro/dev/0.11, 3)]] == Author/Contributors == '''Author:''' [wiki:martin_s] [[BR]] '''Contributors:'''