[OpenLayers-Users] How to convert a coordinate like 5383153.349692758 to 43.468243 ?

toni hernández tonidelacalle at gmail.com
Sun Jun 21 05:54:47 EDT 2009


hi,
I guess you need to transform the coords from 900913 system to 4326, don't
you?

I am not an expert but I think you just need to use the transform function.
firt get a var called yourcoords (in the example I wrote) with the
coordenate you want to transform.

Then do the transform.. like this.

newcoords = yourcoords.transform(new
OpenLayers.Projection("EPSG:900913"),new OpenLayers.Projection("4326"))

900913 and 4326 are defined (I think) in Openlayers. If this is not working
then you can try to do the transform with the proj4js api. If you do, read
first this. http://trac.osgeo.org/proj4js/wiki/UserGuide

On Sun, Jun 21, 2009 at 11:35 AM, Jan Martin <janmartin3 at googlemail.com>wrote:

> Hi all,
> I have been fiddling with this way too long already, so I ask:
>
> After changing the Click Event Example a bit I am getting coordinates like
> this:
>
> 5383153.349692758      1323087.0961396247
>
> Click Event Example: http://www.openlayers.org/dev/examples/click.html
>
> However I need them like this:
>
> 43.468243    11.880172
>
> Btw. same format as the coordinates in the "data.txt".
>
> I think "All I DID" is changing from WMS to OSM Layers?
> How to automatically convert?
>
> Thanks.
>
>
> Please find my code:
>
> <html>
> <head>
> <title>map3</title>
>     <style type="text/css">
>         #map {	width: 90%;
> 		height: 90%;
> 		border: 1px solid black;}
>
>
>     </style>
>
> <script src="OpenLayers.js"></script>
> <script src="OpenStreetMap.js"></script>
>
> 	<script type="text/javascript">
>             OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
>
>
>                 defaultHandlerOptions: {
>                     'single': true,
>                     'double': false,
>                     'pixelTolerance': 0,
>                     'stopSingle': false,
>
>
>                     'stopDouble': false
>                 },
>
>                 initialize: function(options) {
>                     this.handlerOptions = OpenLayers.Util.extend(
>                         {}, this.defaultHandlerOptions
>
>
>                     );
>                     OpenLayers.Control.prototype.initialize.apply(
>                         this, arguments
>                     );
>                     this.handler = new OpenLayers.Handler.Click(
>
>
>                         this, {
>                             'click': this.trigger
>                         }, this.handlerOptions
>                     );
>                 },
>
>                 trigger: function(e) {
>
>
>                 var lonlat = map.getLonLatFromViewPortPx(e.xy);
>                     alert("You clicked: " + lonlat.lat  + "   " + lonlat.lon);
>                 }
>
>             });
>
> 		var map;
>
>
> 		function init() {
> 			map = new OpenLayers.Map ("map", {
> 				controls:[
> 					new OpenLayers.Control.Navigation(),
> 					new OpenLayers.Control.PanZoomBar(),
> 					new OpenLayers.Control.LayerSwitcher(),
>
>
> 					],
> 			} );
>
> 			layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
> 			map.addLayer(layerMapnik,{layers: 'basic'});
> 			layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
>
>
> 			map.addLayer(layerTilesAtHome);
> 			layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
> 			map.addLayer(layerCycleMap);
>
>                 var click = new OpenLayers.Control.Click();
>                 map.addControl(click);
>
>
>                 click.activate();
>
> 		var dataExtent;
> 		var setExtent = function() {
> 			if(dataExtent) {dataExtent.extend(this.getDataExtent());}
> 			else {dataExtent = this.getDataExtent();}
> 			map.zoomToExtent(dataExtent);
>
>
> 		};
>
> 			var newl = new OpenLayers.Layer.Text( "text", {
> 			location: "data.txt",
> 			} );
> 			newl.events.register("loadend", newl, setExtent);
> 			map.addLayer(newl);
> 			map.setCenter(null, null);
>
>
> 			};
> </script>
> </head>
>
> <body onload="init();">
> <div id="map"></div>
> </body>
> </html>
>
>
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20090621/5488e572/attachment.html


More information about the Users mailing list