Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>OpenLayers Layer</title>
- <style type="text/css">
- body {
- margin: 0;
- }
- #map {
- width: 100%;
- height: 100%;
- }
- .olLayerGoogleCopyright {
- left: 2px;
- bottom: 2px;
- }
- .olLayerGooglePoweredBy {
- left: 2px;
- bottom: 15px;
- }
- .olControlAttribution {
- font-size: smaller;
- right: 3px;
- bottom: 4.5em;
- position: absolute;
- display: block;
- }
- </style>
- <script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
- <script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
- <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
- <script type="text/javascript">
- var map;
- var layer;
- function onchangeTypeMap() {
- map.removeLayer(layer);
- addLayer(document.getElementById("selectTypeMap").value);
- document.getElementById("status").innerHTML = "Change " + layer.name + "!";
- }
- function addLayer(nameLayer) {
- // Values idLayer:
- // Google('g'): gStreets, gSatellite, gHybrid, gPhysical
- // OSM('o'): osm,
- // Yahoo('y'): yStreets, ySatellite, yHybrid
- function layerLoadStart(event)
- { document.getElementById("status").innerHTML = "Loading " + layer.name + "..."; }
- function layerLoadEnd(event)
- { document.getElementById("status").innerHTML = "End of load " + layer.name + "!"; }
- var name;
- var options;
- switch (nameLayer[0]) {
- case 'g':
- options = { isBaseLayer: true,
- eventListeners: { "loadstart": layerLoadStart, "loadend": layerLoadEnd },
- type: 0, 'sphericalMercator': true, numZoomLevels: 20
- };
- switch (nameLayer) {
- case "gStreets":
- name = "Google Streets";
- options.type = G_NORMAL_MAP;
- break;
- case "gSatellite":
- name = "Google Satellite";
- options.type = G_SATELLITE_MAP;
- break;
- case "gHybrid":
- name = "Google Hybrid";
- options.type = G_HYBRID_MAP;
- break;
- case "gPhysical":
- name = "Google Physical";
- options.type = G_PHYSICAL_MAP;
- options.numZoomLevels = 16;
- break;
- }
- layer = new OpenLayers.Layer.Google(name, options);
- break;
- case 'o':
- name = "OpenStreetMap";
- options = { isBaseLayer: true,
- eventListeners: { "loadstart": layerLoadStart, "loadend": layerLoadEnd }
- };
- layer = new OpenLayers.Layer.OSM(name, "http://tile.openstreetmap.org/${z}/${x}/${y}.png", options);
- break;
- case 'y':
- options = { isBaseLayer: true,
- eventListeners: { "loadstart": layerLoadStart, "loadend": layerLoadEnd },
- type: 0, 'sphericalMercator': true
- };
- switch (nameLayer) {
- case "yStreets":
- name = "Yahoo Street";
- options.type = YAHOO_MAP_REG;
- break;
- case "ySatellite":
- name = "Yahoo Satellite";
- options.type = YAHOO_MAP_SAT;
- break;
- case "yHybrid":
- name = "Yahoo Hybrid";
- options.type = YAHOO_MAP_HYB;
- break;
- }
- layer = new OpenLayers.Layer.Yahoo(name, options);
- break;
- }
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(0, 0), 2);
- }
- function init() {
- map = new OpenLayers.Map('map', {
- theme: null,
- controls: [],
- projection: new OpenLayers.Projection("EPSG:900913"),
- units: "m",
- maxResolution: 156543.0339,
- maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34)
- });
- var iniLayer = "gStreets";
- document.getElementById("status").innerHTML = "Start with " + iniLayer;
- addLayer(iniLayer);
- }
- </script>
- </head>
- <body onload="init()">
- <table border="1">
- <tr>
- <td>
- <select id="selectTypeMap" onchange="onchangeTypeMap()">
- <option>gStreets
- <option>gSatellite
- <option>gHybrid
- <option>gPhysical
- <option>osm
- <option>yStreets
- <option>ySatellite
- <option>yHybrid
- </select>
- </td>
- <td id="status">
- Status
- </td>
- </tr>
- </table>
- <div id="map"></div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement