+<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <meta charset="utf-8">
+ <title>OpenStreetMap Embedded</title>
<style type="text/css">
- #map {
+ html {
width: 100%;
height: 100%;
}
- .olControlAttribution {
- bottom: 3px!important;
+ body {
+ width: 100%;
+ height: 100%;
+ margin: 0px;
}
- </style>
- <script src="http://openstreetmap.org/openlayers/OpenLayers.js"></script>
- <script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
- <script type="text/javascript">
- var map, layer;
- function localUpdateLink() {
- var center = this.map.getCenter();
-
- // Map not initialized yet. Break out of this function.
- if (!center) {
- return;
- }
-
- var params = OpenLayers.Util.getParameters(this.base);
-
- params.zoom = this.map.getZoom();
- var lat = center.lat;
- var lon = center.lon;
-
- if (this.displayProjection) {
- var mapPosition = OpenLayers.Projection.transform(
- { x: lon, y: lat },
- this.map.getProjectionObject(),
- this.displayProjection );
- lon = mapPosition.x;
- lat = mapPosition.y;
- }
-
- if (this.map.marker) {
- params.lat = Math.round(lat*100000)/100000;
- params.lon = Math.round(lon*100000)/100000;
- } else {
- params.mlat = Math.round(lat*100000)/100000;
- params.mlon = Math.round(lon*100000)/100000;
- }
-
- var href = this.base;
- if(href.indexOf('?') != -1) {
- href = href.substring( 0, href.indexOf('?') );
- }
-
- href += '?' + OpenLayers.Util.getParameterString(params);
- this.element.href = href;
+ #map {
+ width: 100%;
+ height: 100%;
}
+ </style>
+ <link href="/assets/leaflet.css" media="screen" rel="stylesheet" type="text/css">
+ <!--[if IE]>
+ <link href="/assets/leaflet.ie.css" media="screen" rel="stylesheet" type="text/css" />
+ <![endif]-->
+ <script src="/assets/leaflet.js"></script>
+ <script src="/assets/leaflet.osm.js"></script>
+ </head>
- function init(){
- OpenLayers.Lang.en.permalink = "Larger Map";
- map = new OpenLayers.Map ("map", {
- controls: [
- new OpenLayers.Control.Attribution(),
- new OpenLayers.Control.ArgParser(),
- new OpenLayers.Control.Navigation(),
- new OpenLayers.Control.Permalink(null, "http://openstreetmap.org/", { updateLink: localUpdateLink })
- ],
- maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,
- 20037508.34,20037508.34),
- numZoomLevels: 20,
- maxResolution: 156543.0339,
- displayProjection: new OpenLayers.Projection("EPSG:4326"),
- units: 'm',
- projection: new OpenLayers.Projection("EPSG:900913")
- });
+ <body>
+ <div id="map"></div>
+ <script>
+ var query = (window.location.search || '?').substr(1),
+ args = {};
- var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
- displayOutsideMaxExtent: true,
- wrapDateLine: true,
- attribution: '<a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a>'
- });
- map.addLayer(mapnik);
+ query.replace(/([^&=]+)=?([^&]*)(?:&+|$)/g, function(match, key, value) {
+ value = value.split(",");
+ if (value.length == 1)
+ value = value[0];
+ args[key] = value;
+ });
- var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", {
- displayOutsideMaxExtent: true,
- wrapDateLine: true,
- attribution: '<a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a>'
- });
- map.addLayer(osmarender);
+ var map = L.map("map");
+ map.attributionControl.setPrefix('');
- var args = OpenLayers.Util.getParameters();
- if (args.marker && map.getCenter()) {
- var markers = new OpenLayers.Layer.Markers();
- map.addLayer(markers);
- markers.addMarker( new OpenLayers.Marker(map.getCenter()));
- map.marker = true;
- }
+ if (!args.layer || args.layer == "mapnik" || args.layer == "osmarender") {
+ new L.OSM.Mapnik().addTo(map);
+ } else if (args.layer == "cyclemap" || args.layer == "cycle map") {
+ new L.OSM.CycleMap().addTo(map);
+ } else if (args.layer == "transportmap") {
+ new L.OSM.TransportMap().addTo(map);
+ } else if (args.layer == "mapquest") {
+ new L.OSM.MapQuestOpen().addTo(map);
+ }
- if (!map.getCenter()) {
- map.zoomToMaxExtent();
- }
+ if (args.marker) {
+ L.marker(args.marker).addTo(map);
+ }
- var size = map.getSize();
- if (size.h > 320) {
- map.addControl(new OpenLayers.Control.PanZoomBar());
- } else {
- map.addControl(new OpenLayers.Control.PanZoom());
- }
- }
+ if (args.bbox) {
+ map.fitBounds([L.latLng(args.bbox[1], args.bbox[0]),
+ L.latLng(args.bbox[3], args.bbox[2])])
+ } else {
+ map.fitWorld();
+ }
</script>
- </head>
- <body onload="init()">
- <div id="map"></div>
</body>
</html>