diff options
Diffstat (limited to 'misc/openlayers/examples/arcgiscache_jsonp.html')
-rw-r--r-- | misc/openlayers/examples/arcgiscache_jsonp.html | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/misc/openlayers/examples/arcgiscache_jsonp.html b/misc/openlayers/examples/arcgiscache_jsonp.html new file mode 100644 index 0000000..5a92427 --- /dev/null +++ b/misc/openlayers/examples/arcgiscache_jsonp.html @@ -0,0 +1,106 @@ +<!DOCTYPE html> +<html> + <head> + <title>OpenLayers ArcGIS Cache Example (Autoconfigure with JSONP)</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="stylesheet" href="../theme/default/style.css" type="text/css"> + <link rel="stylesheet" href="style.css" type="text/css"> + + <script src="../lib/OpenLayers.js"></script> + + <script type="text/javascript"> + var map, + layerURL = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"; + + function init() { + var jsonp = new OpenLayers.Protocol.Script(); + jsonp.createRequest(layerURL, { + f: 'json', + pretty: 'true' + }, initMap); + } + + function initMap(layerInfo){ + /* + * The initialize function in this layer has the ability to automatically configure + * itself if given the JSON capabilities object from the ArcGIS map server. + * This hugely simplifies setting up a new layer, and switching basemaps when using this technique. + * + * see the 'initialize' function in ArcGISCache.js, or + * see the other two ArcGISCache.js examples for direct manual configuration options + * + */ + var baseLayer = new OpenLayers.Layer.ArcGISCache("AGSCache", layerURL, { + layerInfo: layerInfo + }); + + /* + * Make sure our baselayer and our map are synced up + */ + map = new OpenLayers.Map('map', { + maxExtent: baseLayer.maxExtent, + units: baseLayer.units, + resolutions: baseLayer.resolutions, + numZoomLevels: baseLayer.numZoomLevels, + tileSize: baseLayer.tileSize, + displayProjection: baseLayer.displayProjection + }); + map.addLayers([baseLayer]); + + + //overlay test layer + //http://openlayers.org/dev/examples/web-mercator.html + var wms = new OpenLayers.Layer.WMS("Highways", + "http://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StateCityHighway_USA/MapServer/WMSServer", + {layers: "2", format: "image/gif", transparent: "true"}, + { isBaseLayer: false, wrapDateLine: false } + ); + map.addLayers([wms]); + + + + map.addControl(new OpenLayers.Control.LayerSwitcher()); + map.addControl(new OpenLayers.Control.MousePosition() ); + //map.zoomToExtent(new OpenLayers.Bounds(-8341644, 4711236, -8339198, 4712459)); + map.zoomToExtent(new OpenLayers.Bounds(-8725663.6225564, 4683718.6735907, -8099491.4868444, 4996804.7414467)); + } + </script> + </head> + <body onload="init()"> + <h1 id="title">OpenLayers ArcGIS Cache Example (Autoconfigure with JSONP)</h1> + + <div id="tags"> + arcgis, arcgiscache, cache, tms, jsonp + </div> + + <p id="shortdesc"> + Demonstrates the basic initialization of the ArcGIS Cache layer by using the server capabilities object. + </p> + + <div id="map" class="smallmap"></div> + + <div id="docs"> + <p>This example demonstrates using the ArcGISCache layer for + accessing ESRI's ArcGIS Server (AGS) Map Cache tiles normally through + a live AGS MapServer. Toggle the visibility of the overlay to + demonstrate how the two layers are lined up correctly.</p> + + <h2>Notes on this Layer</h2> + <p> + This method automatically configures the layer using the capabilities object + generated by the server itself. This page shows how to construct the url for the server capabilities object, + retrieve it using JSONP, and pass it in during construction. Note that in this case, + the layer is constructed before the map. This approach greatly simplifies the + configuration of your map, and works best when all your tiles / overlays are similarly laid out. + If you are using a live AGS map server for your layer, it can be helpful to check your + server configuration using this technique before trying one of the other examples for this layer. + </p> + + <h2> Other Examples </h2> + <p>This is one of three examples for this layer. You can also configure this + layer to use <a href="arcgiscache_direct.html">prebuilt tiles in a file store (not a live server).</a> + As well a retrieve <a href="arcgiscache_ags.html">tiles from a live server.</a> + </p> + </div> + </body> +</html> |