= 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 a lot of functionality.''' Multiple Google Maps on the same wiki page are actively supported but are more likely to cause trouble. == 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:'''