Difference between revisions of "Widget:OpenStreetMap"
Jump to navigation
Jump to search
(First attempt, not tested) |
(Added central marker and points of interest. Still not tested.) |
||
Line 1: | Line 1: | ||
− | <noinclude> | + | <noinclude>This widget allows you to embed '''[http://openstreetmap.org OpenStreetMap]''' in a wiki page. |
− | This widget allows you to embed | ||
== Using this widget == | == Using this widget == | ||
Line 8: | Line 7: | ||
=== Parameters === | === Parameters === | ||
+ | ;width | ||
+ | : Width of the embedded map (default 400px). | ||
+ | ;height | ||
+ | : Height of the embedded map (default 400px). | ||
;lat | ;lat | ||
− | : The x coordinate. | + | : The x-coordinate for the centre of the view. |
;lon | ;lon | ||
− | : The y coordinate. | + | : The y-coordinate for the centre of the view. |
+ | ;units | ||
+ | : The type of [http://dev.openlayers.org/docs/files/OpenLayers/Map-js.html#OpenLayers.Map.units map units] used for the coordinates (defaults to 'degrees'). | ||
;zoom | ;zoom | ||
− | : The zoom level. | + | : The [http://wiki.openstreetmap.org/wiki/Zoom_levels zoom level] (default 15). |
+ | ;showmarker | ||
+ | : Adds a visual marker to the center of the map (default false). | ||
+ | ;poifile | ||
+ | : Specifies a file containing points of interest (POI) that should be overlaid on the map. See the file format description in [http://dev.openlayers.org/releases/OpenLayers-2.6/doc/apidocs/files/OpenLayers/Layer/Text-js.html]. | ||
+ | ;poititle | ||
+ | : The title of the POI layer (default 'Points of interest'). | ||
== Example == | == Example == | ||
{{#widget:OpenStreetMap|lat=13.41|lon=52.52|zoom=15}} | {{#widget:OpenStreetMap|lat=13.41|lon=52.52|zoom=15}} | ||
− | </noinclude><includeonly> | + | </noinclude><includeonly><!--{counter name="openStreetMapDivID" assign="openStreetMapDivID"}--><div id="openStreetMap<!--{$openStreetMapDivID|escape:'html'}-->" style="width:<!--{$width|escape:'html'|default:'400px'}-->; height:<!--{$height|escape:'html'|default:'400px'};"></div><!--{if $openStreetMapDivID == 1}--><script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script><!--{/if}--><script type="text/javascript"> |
− | <div id=" | ||
(function (){ | (function (){ | ||
− | + | var lon = <!--{$lon|validate:float}-->; | |
+ | var lat = <!--{$lat|validate:float}-->; | ||
+ | var zoom = <!--{$zoom|validate:int|default:15}-->; | ||
+ | var divID = 'openStreetMap<!--{$openStreetMapDivID|escape:'quotes'}-->'; | ||
+ | var mapUnits = '<!--{$units|escape:'quotes'|default:'degrees'}-->'; | ||
+ | |||
+ | map = new OpenLayers.Map(divID, {units:mapUnits}); | ||
var mapnik = new OpenLayers.Layer.OSM(); | var mapnik = new OpenLayers.Layer.OSM(); | ||
map.addLayer(mapnik); | map.addLayer(mapnik); | ||
− | map. | + | |
− | + | // transform from WGS 1984 to Spherical Mercator projection | |
− | + | var centerPt = new OpenLayers.LonLat(lon, lat).transform( | |
− | + | new OpenLayers.Projection('EPSG:4326'), | |
− | + | map.getProjectionObject(); | |
− | ); | + | |
+ | <!--{if $showmarker}--> | ||
+ | var markers = new OpenLayers.Layer.Markers("Markers"); | ||
+ | map.addLayer(markers); | ||
+ | markers.addMarker(new OpenLayers.Marker(centerPt)); | ||
+ | <!--{/if}--> | ||
+ | |||
+ | <!--{if $poifile}--> | ||
+ | var pois = new OpenLayers.Layer.Text( | ||
+ | '<!--{$poititle|escape:'quotes'|default:'Points of interest'}-->', | ||
+ | { | ||
+ | location:'<!--{$poifile|escape:'quotes'}-->', | ||
+ | projection:map.displayProjection | ||
+ | }); | ||
+ | map.addLayer(pois); | ||
+ | <!--{/if}--> | ||
+ | |||
+ | map.setCenter(centerPt, zoom); | ||
})(); | })(); | ||
− | </script><noscript>Please enable JavaScript to view the OpenStreetMap.</noscript></includeonly> | + | </script><noscript>Please enable JavaScript to view the <a href="http://www.openstreetmap.org/">OpenStreetMap</a>.</noscript></includeonly> |
Revision as of 17:09, 11 March 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=13.41|lon=52.52|zoom=15}}
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).
- poifile
- Specifies a file containing points of interest (POI) that should be overlaid on the map. See the file format description in [1].
- poititle
- The title of the POI layer (default 'Points of interest').
Example