diff options
Diffstat (limited to 'misc/openlayers/examples/openls.html')
-rw-r--r-- | misc/openlayers/examples/openls.html | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/misc/openlayers/examples/openls.html b/misc/openlayers/examples/openls.html new file mode 100644 index 0000000..257ef61 --- /dev/null +++ b/misc/openlayers/examples/openls.html @@ -0,0 +1,88 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/> + <meta name="apple-mobile-web-app-capable" content="yes"/> + <link rel="stylesheet" href="../theme/default/style.css" type="text/css"/> + <link rel="stylesheet" href="style.css" type="text/css"/> + <title>OpenLS: Geocoding Example</title> + <script type="text/javascript" src="../lib/OpenLayers.js"></script> + <script type="text/javascript"> + var map, layer; + + function init() { + OpenLayers.ProxyHost = "proxy.cgi?url="; + map = new OpenLayers.Map('map', { + controls: [ + new OpenLayers.Control.PanZoom(), + new OpenLayers.Control.Permalink(), + new OpenLayers.Control.Navigation() + ] + }); + layer = new OpenLayers.Layer.OSM("OpenStreetMap", null, { + transitionEffect: 'resize' + }); + map.addLayers([layer]); + map.zoomToMaxExtent(); + } + function submitform() { + var queryString = document.forms[0].query.value; + OpenLayers.Request.POST({ + url: "http://www.openrouteservice.org/php/OpenLSLUS_Geocode.php", + scope: this, + failure: this.requestFailure, + success: this.requestSuccess, + headers: {"Content-Type": "application/x-www-form-urlencoded"}, + data: "FreeFormAdress=" + encodeURIComponent(queryString) + "&MaxResponse=1" + }); + } + function requestSuccess(response) { + var format = new OpenLayers.Format.XLS(); + var output = format.read(response.responseXML); + if (output.responseLists[0]) { + var geometry = output.responseLists[0].features[0].geometry; + var foundPosition = new OpenLayers.LonLat(geometry.x, geometry.y).transform( + new OpenLayers.Projection("EPSG:4326"), + map.getProjectionObject() + ); + map.setCenter(foundPosition, 16); + } else { + alert("Sorry, no address found"); + } + } + function requestFailure(response) { + alert("An error occurred while communicating with the OpenLS service. Please try again."); + } + + </script> +</head> +<body onload="init()"> +<h1 id="title">OpenLS Geocoding Example</h1> + +<div id="tags"> + OpenLS, XLS, Geocoding +</div> + +<p id="shortdesc"> + Show how to use an OpenLS service. +</p> + +<form name="input" action="javascript: submitform();" method="post"> + <label for="query">Search for address:</label> <input type="text" id="query" size=50 name="query" + value="Rue des Berges 37 Payerne"/> + <input type="submit" value="Submit"/> +</form> + +<br> + +<div id="map" class="smallmap"></div> + + +<div id="docs"> + <p> + Geocoding example using the http://www.openrouteservice.org/ OpenLS service. Recenter to the first item of the results. + </p> +</div> +</body> +</html> |