[Argentina] GXP googlesource

Gonzalo Alonso gonkpo en gmail.com
Dom Jun 8 17:51:55 PDT 2014


Hola! Muchas gracias!!! Pude hacer que funcione!!! Saludos!
El 08/06/2014 12:47, "Oscar López" <oskosk en gmail.com> escribió:

> Perdón. Mandé cualquier con respecto al nombre de la función. Puse pseudoMercatorALonLatBounds
> y debería ser LonLatAPseudoMercatorBounds.Te pongo de nuevo esa función
> con el nombre bien y pongo otra función que haga lo inverso
>
> function LonLatAPseudoMercatorBounds(oeste, sur, este, norte) {
>  var proj_4326 = new OpenLayers.Projection("EPSG:4326");
>  var proj_900913 = new OpenLayers.Projection("EPSG:900913");
> var sudOeste = new OpenLayers.LonLat(oeste, sur);
>  var norEste = new OpenLayers.LonLat(este, norte);
>  var bounds = new OpenLayers.Bounds();
>  bounds.extend(sudOeste.transform(proj_4326, proj_900913));
> bounds.extend(norEste.transform(proj_4326, proj_900913));
>  return bounds;
> }
>
> // función inversa
> function pseudoMercatorALonLatBounds(oeste, sur, este, norte) {
> var proj_4326 = new OpenLayers.Projection("EPSG:4326");
>  var proj_900913 = new OpenLayers.Projection("EPSG:900913");
> var sudOeste = new OpenLayers.LonLat(oeste, sur);
> var norEste = new OpenLayers.LonLat(este, norte);
>  var bounds = new OpenLayers.Bounds();
> bounds.extend(sudOeste.transform(proj_900913, proj_4326));
>  bounds.extend(norEste.transform(proj_900913, proj_4326));
>  return bounds;
> }
>
> Os
>
>
> 2014-06-08 12:36 GMT-03:00 Oscar López <oskosk en gmail.com>:
>
>> Sí. Existe una manera. Lo que pasa es que ese sistema de referencia (el
>> EPSG:900913, también llamado EPSG:3857o *web pseudo-mercator*) tiene
>> como unidad, metros.
>>
>> Y TAMBIÉN se maneja con un sistema de coordenadas distinto del EPSG:4326
>> también. Por lo cual si querés hacer algo como ..
>>
>> extent : new OpenLayers.Bound(-61,-26, -56,-30)
>>
>> ...tenés que convertir cada parámetro de latitud o longitud a coordenadas
>> metros. Te recomiendo usar una funcioncita como esta
>>
>> function pseudoMercatorALonLatBounds(oeste, sur, este, norte) {
>>  var proj_4326 = new OpenLayers.Projection("EPSG:4326");
>> var proj_900913 = new OpenLayers.Projection("EPSG:900913");
>> var sudOeste = new OpenLayers.LonLat(oeste, sur);
>> var norEste = new OpenLayers.LonLat(este, norte);
>>  var bounds = new OpenLayers.Bounds();
>> bounds.extend(sudOeste.transform(proj_4326, proj_900913));
>> bounds.extend(norEste.transform(proj_4326, proj_900913));
>>  return bounds;
>> }
>> ...
>> // Y usarla así en el parámetro a gxp
>> extent : pseudoMercatorALonLatBounds(-61,-26, -56,-30)
>> ...
>>
>>
>> Por otra parte, en tu pregunta inicial pusiste algo como center: new
>> OpenLayers.Bounds(-61,-26, -56,-30). Tiene que ser extent: .... ya que center
>> acepta un par de coordenaadas OpenLayers.LonLat y no un OpenLayers.Bounds
>> .
>>
>> Saludos !
>>
>>
>> Os
>>
>>
>> 2014-06-08 12:12 GMT-03:00 Gonzalo Alonso <gonkpo en gmail.com>:
>>
>> Claro entiendo igual al superponer mapas no tengo problema puedo ver los
>>> mapas de google como los otros el problema es que no puedo centrarlo
>>> necesito que inicie en Argentina y por mas coordenadas que ponga en center
>>> no puedo hacerlo existe alguna manera?
>>>
>>>
>>> El 8 de junio de 2014, 12:01, Oscar López <oskosk en gmail.com> escribió:
>>>
>>> La única manera de aprovechar bien las Tiles de Google, Bing y
>>>> OpenStreetMap es con ese SRS el 900913 que *oficialmente es el
>>>> EPSG:3857*. GeoExt trata de hacer magia cuando tenés un mapa
>>>> configurado en EPSG:4326 y le pedís que superponga capas de Google pero la
>>>> magia tiene corto alcance
>>>>
>>>>
>>>> Os
>>>>
>>>>
>>>> 2014-06-08 11:58 GMT-03:00 Gonzalo Alonso <gonkpo en gmail.com>:
>>>>
>>>>>  Hola estoy trabajando con GXP y resulta que agregando
>>>>> gxp_googlesource la unica manera de visualizar bien las capas es con
>>>>> OpenLayers.Projection("EPSG:900913")  y mis capas se encuentran en new
>>>>> OpenLayers.Projection("EPSG:4326") al entrar al visualizador veo bien pero
>>>>> el centrar no me funciona y no inicia en las coordenadas que yo le paso por
>>>>> ejemplo: center: new OpenLayers.Bounds(-61,-26, -56,-30)
>>>>> Alguien me podria ayudar???
>>>>> Gracias!
>>>>>
>>>>> --
>>>>>
>>>>> *               Gonzalo Alonso                *
>>>>> *Técnico Superior en Programación*
>>>>> *              Desarrollador Web             *
>>>>>
>>>>> www.miwebsimple.com.ar
>>>>>
>>>>> _______________________________________________
>>>>> Argentina mailing list
>>>>> Argentina en lists.osgeo.org
>>>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/argentina
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Argentina mailing list
>>>> Argentina en lists.osgeo.org
>>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/argentina
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> *               Gonzalo Alonso                *
>>>  *Técnico Superior en Programación*
>>> *              Desarrollador Web             *
>>>
>>> www.miwebsimple.com.ar
>>>
>>> _______________________________________________
>>> Argentina mailing list
>>> Argentina en lists.osgeo.org
>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/argentina
>>>
>>>
>>
>
> _______________________________________________
> Argentina mailing list
> Argentina en lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/argentina
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.osgeo.org/pipermail/argentina/attachments/20140608/f94afc88/attachment-0001.html>


More information about the Argentina mailing list