+<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <meta charset="utf-8">
+ <title>OpenStreetMap Embedded</title>
<style type="text/css">
+ html {
+ width: 100%;
+ height: 100%;
+ }
+ body {
+ width: 100%;
+ height: 100%;
+ margin: 0px;
+ }
#map {
width: 100%;
height: 100%;
bottom: 3px!important;
}
</style>
- <script src="http://openstreetmap.org/openlayers/OpenLayers.js"></script>
- <script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
+ <script src="/openlayers/OpenLayers.js" type="text/javascript"></script>
+ <script src="/openlayers/OpenStreetMap.js" type="text/javascript"></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;
- }
-
- params.lat = Math.round(lat*100000)/100000;
- params.lon = 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;
- }
-
function init(){
- OpenLayers.Lang.en.permalink = "Larger Map";
map = new OpenLayers.Map ("map", {
controls: [
new OpenLayers.Control.Attribution(),
- new OpenLayers.Control.Navigation(),
- new OpenLayers.Control.Permalink(null, "http://openstreetmap.org/", { updateLink: localUpdateLink })
+ 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")
+ displayProjection: new OpenLayers.Projection("EPSG:4326")
});
- var attribution = 'Data by <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a>';
+ var attribution = '© <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a> and contributors, under an <a target="_parent" href="http://www.openstreetmap.org/copyright">open license</a>';
var args = OpenLayers.Util.getParameters();
- if (!args.layer || args.layer == "mapnik") {
+ if (!args.layer || args.layer == "mapnik" || args.layer == "osmarender") {
var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
- displayOutsideMaxExtent: true,
wrapDateLine: true,
- attribution: attribution
+ attribution: attribution
});
map.addLayer(mapnik);
- } else {
- var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", {
- displayOutsideMaxExtent: true,
+ } else if (args.layer == "cyclemap" || args.layer == "cycle map") {
+ var cyclemap = new OpenLayers.Layer.OSM.CycleMap("Cycle Map", {
+ wrapDateLine: true,
+ attribution: attribution
+ });
+ map.addLayer(cyclemap);
+ } else if (args.layer == "transportmap") {
+ var transportmap = new OpenLayers.Layer.OSM.TransportMap("Transport Map", {
+ wrapDateLine: true,
+ attribution: attribution
+ });
+ map.addLayer(transportmap);
+ } else if (args.layer == "mapquest") {
+ var mapquestmap = new OpenLayers.Layer.OSM("MapQuest Open Map", [
+ "http://otile1.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png",
+ "http://otile2.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png",
+ "http://otile3.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png",
+ "http://otile4.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png"], {
wrapDateLine: true,
- attribution: attribution
+ attribution: "Tiles courtesy of <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='http://developer.mapquest.com/content/osm/mq_logo.png'>"
});
- map.addLayer(osmarender);
- }
+ map.addLayer(mapquestmap);
+ }
+
if (args.marker) {
var markers = new OpenLayers.Layer.Markers();
map.addLayer(markers);
- var center = args.marker.split(",");
- markers.addMarker( new OpenLayers.Marker(new OpenLayers.LonLat(center[1], center[0]).transform(map.displayProjection, map.getProjectionObject())));
+ markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(args.marker[1], args.marker[0]).transform(map.displayProjection, map.getProjectionObject())));
map.marker = true;
- }
- if (args.bbox) {
- var bounds = OpenLayers.Bounds.fromString(args.bbox).transform(map.displayProjection, map.getProjectionObject());
- var center = bounds.getCenterLonLat();
- map.setCenter(center, map.getZoomForExtent(bounds, true);
+ }
+
+ if (args.bbox) {
+ var bounds = OpenLayers.Bounds.fromArray(args.bbox).transform(map.displayProjection, map.getProjectionObject());
+ map.zoomToExtent(bounds)
} else {
- map.zoomToMaxExtent();
+ map.zoomToMaxExtent();
}
+
var size = map.getSize();
if (size.h > 320) {
map.addControl(new OpenLayers.Control.PanZoomBar());
} else {
- map.addControl(new OpenLayers.Control.PanZoom());
+ map.addControl(new OpenLayers.Control.Zoom());
}
}
+ // -->
</script>
</head>
+
<body onload="init()">
<div id="map"></div>
</body>