+<!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%;
+ }
+ body {
width: 100%;
height: 100%;
+ margin: 0px;
}
- .olControlAttribution {
- bottom: 3px!important;
+ #map {
+ width: 100%;
+ height: 100%;
}
</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 init(){
- map = new OpenLayers.Map ("map", {
- controls: [
- new OpenLayers.Control.Attribution(),
- new OpenLayers.Control.Navigation()
- ],
- 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")
- });
+ <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>
+
+ <body>
+ <div id="map"></div>
+ <script>
+ var query = (window.location.search || '?').substr(1),
+ args = {};
- var attribution = 'Data by <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a>';
- var args = OpenLayers.Util.getParameters();
- if (!args.layer || args.layer == "mapnik") {
- var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
- displayOutsideMaxExtent: true,
- wrapDateLine: true,
- attribution: attribution
- });
- map.addLayer(mapnik);
- } else if (args.layer == "osmarender") {
- var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", {
- displayOutsideMaxExtent: true,
- wrapDateLine: true,
- attribution: attribution
- });
- map.addLayer(osmarender);
- } else if (args.layer == "cycle map") {
- var cyclemap = new OpenLayers.Layer.OSM.CycleMap("Cycle Map", {
- displayOutsideMaxExtent: true,
- wrapDateLine: true,
- attribution: attribution
- });
- map.addLayer(cyclemap);
- }
+ query.replace(/([^&=]+)=?([^&]*)(?:&+|$)/g, function(match, key, value) {
+ value = value.split(",");
+ if (value.length == 1)
+ value = value[0];
+ args[key] = value;
+ });
- if (args.marker) {
- var markers = new OpenLayers.Layer.Markers();
- map.addLayer(markers);
- markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(args.marker[1], args.marker[0]).transform(map.displayProjection, map.getProjectionObject())));
- map.marker = true;
- }
+ var map = L.map("map");
+ map.attributionControl.setPrefix('');
- if (args.bbox) {
- var bounds = OpenLayers.Bounds.fromArray(args.bbox).transform(map.displayProjection, map.getProjectionObject());
- map.zoomToExtent(bounds)
- } else {
- map.zoomToMaxExtent();
- }
+ 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);
+ }
- var size = map.getSize();
- if (size.h > 320) {
- map.addControl(new OpenLayers.Control.PanZoomBar());
- } else {
- map.addControl(new OpenLayers.Control.PanZoom());
- }
- }
+ if (args.marker) {
+ L.marker(args.marker).addTo(map);
+ }
+
+ 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>