X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/77bbbd24983356f388d1ae1ad2dc44a8472c3ce2..cc3e4aa532559b5c8948152fb6d4ab68da22fe28:/lib/template/search-html.php diff --git a/lib/template/search-html.php b/lib/template/search-html.php index 7698ebd0..3fd8096d 100644 --- a/lib/template/search-html.php +++ b/lib/template/search-html.php @@ -216,40 +216,34 @@ form{ map.panTo(lonLat, 10); } - function panToLatLonBoundingBox(lat,lon,minlat,maxlat,minlon,maxlon,points) { - var proj_EPSG4326 = new OpenLayers.Projection("EPSG:4326"); - var proj_map = map.getProjectionObject(); - map.zoomToExtent(new OpenLayers.Bounds(minlon,minlat,maxlon,maxlat).transform(proj_EPSG4326, proj_map)); - var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); + function panToLatLonBoundingBox(lat,lon,minlat,maxlat,minlon,maxlon,wkt) { + vectorLayer.destroyFeatures(); + var proj_EPSG4326 = new OpenLayers.Projection("EPSG:4326"); + var proj_map = map.getProjectionObject(); + map.zoomToExtent(new OpenLayers.Bounds(minlon,minlat,maxlon,maxlat).transform(proj_EPSG4326, proj_map)); + var lonLat = new OpenLayers.LonLat(lon, lat).transform(proj_EPSG4326, proj_map); map.panTo(lonLat, ); - var pointList = []; - var style = { - strokeColor: "#75ADFF", - fillColor: "#F0F7FF", - strokeWidth: 2, - strokeOpacity: 0.75, - fillOpacity: 0.75 - }; - var proj_EPSG4326 = new OpenLayers.Projection("EPSG:4326"); - var proj_map = map.getProjectionObject(); - if (points) - { - points.each(function(p){ - pointList.push(new OpenLayers.Geometry.Point(p[0],p[1])); - }); - var linearRing = new OpenLayers.Geometry.LinearRing(pointList).transform(proj_EPSG4326, proj_map);; - var polygonFeature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon([linearRing]),null,style); - vectorLayer.destroyFeatures(); - vectorLayer.addFeatures([polygonFeature]); - } - else + if (wkt) { - var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); - var point = new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat); - var pointFeature = new OpenLayers.Feature.Vector(point,null,style); - vectorLayer.destroyFeatures(); - vectorLayer.addFeatures([pointFeature]); + var freader = new OpenLayers.Format.WKT({ + 'internalProjection': proj_map, + 'externalProjection': proj_EPSG4326 + }); + + var feature = freader.read(wkt); + if (feature) + { + feature.style = { + strokeColor: "#75ADFF", + fillColor: "#F0F7FF", + strokeWidth: 2, + strokeOpacity: 0.75, + fillOpacity: 0.75, + pointRadius: 100 + }; + vectorLayer.addFeatures([feature]); + } } } @@ -327,7 +321,7 @@ form{