Widget:Sandbox: Difference between revisions

From Nottinghack Wiki
Jump to navigation Jump to search
Marcus (talk | contribs)
m Testing
Marcus (talk | contribs)
m Testing
Line 43: Line 43:
: Adds the longitude of a point to the path.  You must specify this parameter the same number of times as the 'lat' parameter.
: Adds the longitude of a point to the path.  You must specify this parameter the same number of times as the 'lat' parameter.
;path.<id>.colour
;path.<id>.colour
: Sets the colour to draw the path (default "#ffcc00")
: Sets the colour to draw the path (default "#0033cc")
;path.<id>.opacity
;path.<id>.opacity
: Sets the path opacity, in the range [0-1] (default 1)
: Sets the path opacity, in the range [0-1] (default 1)
;path.<id>.width
;path.<id>.width
: Sets the line width (default 5)
: Sets the line width (default 4)


==== Javascript alternatives ====
==== Javascript alternatives ====
Line 112: Line 112:
   vectorPath = new OpenLayers.Layer.Vector('<!--{$cur_path.title|default:'Route'|escape:quotes}-->');
   vectorPath = new OpenLayers.Layer.Vector('<!--{$cur_path.title|default:'Route'|escape:quotes}-->');
   points = [];
   points = [];
   <!--{foreach from=$cur_path.point item=cur_point}--><!--{* NOTE: $cur_point.lat and $cur_point.lon do not seem to work, so I have used $cur_point[0] and $cur_point[1] for now. *}-->
   <!--{foreach from=$cur_path.lat item=lat name=pathpoint}-->
   points.push(new OpenLayers.Geometry.Point(<!--{$cur_point[0]|validate:float}-->, <!--{$cur_point[1]|validate:float}-->).transform(epsg4326, mpo));
   points.push(new OpenLayers.Geometry.Point(<!--{$lat|validate:float}-->, <!--{$cur_path.lon[$smarty.foreach.pathpoint.index]|validate:float|default:0.0}-->).transform(epsg4326, mpo));
   <!--{/foreach}-->
   <!--{/foreach}-->
   geometry = new OpenLayers.Geometry.LineString(points);
   geometry = new OpenLayers.Geometry.LineString(points);
   feature = new OpenLayers.Feature.Vector(geometry, null, {
   feature = new OpenLayers.Feature.Vector(geometry, null, {
       strokeColor: '<!--{$cur_path.colour|escape:'quotes'|default:'#ffcc00'}-->',
       strokeColor: '<!--{$cur_path.colour|escape:'quotes'|default:'#0033cc'}-->',
       strokeOpacity: <!--{$cur_path.opacity|validate:float|default:1.0}-->,
       strokeOpacity: <!--{$cur_path.opacity|validate:float|default:1.0}-->,
       strokeWidth: <!--{$cur_path.width|validate:int|default:5}-->
       strokeWidth: <!--{$cur_path.width|validate:int|default:4}-->
   });
   });
   map.addLayer(vectorPath);
   map.addLayer(vectorPath);

Revision as of 21:29, 15 July 2011

This widget allows you to embed OpenStreetMap in a wiki page.

Using this widget

You can insert a map with the following wiki code:

{{#widget:OpenStreetMap|lat=52.94762|lon=-1.1467897|zoom=16}}

Parameters

width
Width of the embedded map (default 400px).
height
Height of the embedded map (default 400px).
lat
The x-coordinate for the centre of the view.
lon
The y-coordinate for the centre of the view.
units
The type of map units used for the coordinates (defaults to 'degrees').
zoom
The zoom level (default 15).
showmarker
Adds a visual marker to the center of the map (default false).

Points of interest

poifile
Specifies the url of a file containing points of interest (POI) that should be overlaid on the map. See the file format description in [1]. Note: there is a bug that causes the last line of the poi file to be ignored; a workaround is to add a trailing line with a single '.' character.
poititle
The title of the POI layer (default 'Points of interest').

Storing points of interest on a wiki page

Instead of uploading a file you can add the points of interest to a wiki page and link to the raw page text, for example:

{{#widget:OpenStreetMap|...|poifile={{fullurl:Wiki page title|action=raw&templates=expand&ctype=text/plain}} }}

Note: If you change the contents of that wiki page you must purge the page cache (for each page that uses it in a map) before you can see the change.

Overlay a path

You can draw paths using connected line segments. This is useful for showing routes. Each path should have a unique name. For the parameters described below the placeholder '<id>' should be replaced with the name of the path.

path.<id>.title
Gives a title to the overlay (default "Route")
path.<id>.point.lat
Adds the latitude of a point to the path. You can specify this parameter many times to add all of the points to the path.
path.<id>.point.lon
Adds the longitude of a point to the path. You must specify this parameter the same number of times as the 'lat' parameter.
path.<id>.colour
Sets the colour to draw the path (default "#0033cc")
path.<id>.opacity
Sets the path opacity, in the range [0-1] (default 1)
path.<id>.width
Sets the line width (default 4)

Javascript alternatives

These alternatives can be used to cater for browsers that do not support javascript.

alt_image
The url of an image to represent the map.
alt_text
A description of the alt_image.

Example

© OpenStreetMap