Foros del Web » Programación para mayores de 30 ;) » Java »

OpenLayer Java y Php

Estas en el tema de OpenLayer Java y Php en el foro de Java en Foros del Web. Estoy utilizando Openlayer (script para mostar mapas personalizados) y asi mostrar una mapa en mi web. Tengo el siguiente código (en una página llamada calles.php) ...
  #1 (permalink)  
Antiguo 17/02/2012, 18:18
 
Fecha de Ingreso: febrero-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
OpenLayer Java y Php

Estoy utilizando Openlayer (script para mostar mapas personalizados) y asi mostrar una mapa en mi web. Tengo el siguiente código (en una página llamada calles.php) y funciona bien (lo saque de los ejemplos de openlayer). Yo solo le agregué pasar por URL la latitud y longuitud para que el mapa se posicione donde yo quiero.

<?php

$X = $_GET['lat'];
$Y = $_GET['lon'];

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>OpenLayers - Beispiel/Example 2</title>
<script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
// <![CDATA[

function init(){

var X = "<?php echo $X; ?>";
var Y = "<?php echo $Y; ?>";

//document.writeln("Esto es una variable de php mostrada en javascript ", X);

var proj4326 = new OpenLayers.Projection("EPSG:4326");
var projmerc = new OpenLayers.Projection("EPSG:900913");

var lonlat = new OpenLayers.LonLat(X, Y);
var zoom = 18;

var map = new OpenLayers.Map("map", {
controls: [
new OpenLayers.Control.KeyboardDefaults(),
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.MousePosition()
],
maxExtent:
new OpenLayers.Bounds(-20037508.34,-20037508.34,
20037508.34, 20037508.34),
numZoomLevels: 20,
maxResolution: 156543,
units: 'm',
projection: projmerc,
displayProjection: proj4326
} );

var mapnik_layer = new OpenLayers.Layer.XYZ('OSM Mapnik', 'http://tile.openstreetmap.org/${z}/${x}/${y}.png'); /*, {
sphericalMercator: true
});*/

var tah_layer = new OpenLayers.Layer.XYZ('OSM Tiles@Home', 'http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png'); /*, {
sphericalMercator: true
});*/

map.addLayers([mapnik_layer, tah_layer]);

lonlat.transform(proj4326, projmerc);

map.setCenter(lonlat, zoom);


}


// ]]>
</script>
</head>
<body onload="init()">
<h1>OpenLayers - Beispiel/Example 2</h1>
<div id="map" style="width: 100%; height: 700px;"></div>
<p>Copyright &copy; <a href="http://www.openstreetmap.org/">OpenStreetMap Contributors</a>
| License: <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons BY-SA 2.0</a>
</p>
</body>
</html>


************************************************** ***************

Ahora: Quiero que abajo del mapa , en la misma página esten unos link con nombres de calles o lugares, que llamen a la misma página con los parametros Lat y Lon para reposicionar el mapa pero sin inicializarlo de nuevo, es decir solo usra la función que se ejecutó cuando finaliza el script:

map.setCenter(lonlat, zoom);

Se puede hacer? o si o si se tiene que invocar a INIT() cada vez que la página se carga.

Gracias de antemano.
  #2 (permalink)  
Antiguo 17/02/2012, 23:26
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: OpenLayer Java y Php

Se puede hacer pero no tiene nada que ver con java. En vez de enlace por algo que en javascript admita el evento onclick() (puede ser un texto de otro color y subrayado simulando ser un enlace, pero no pongas href) y ahí llamas al map.setCenter(...) con los parámetros adecuados. Pregunta los detalles en un foro de javascript.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:54.