Archivos en el mes de Noviembre del 2008

Inclusión de Infocampus en el directorio de enlaces de la Red Eures

El portal de empleo de Infocampus ha sido incluido en el directorio de la Red EURES, que es una red de cooperación destinada a facilitar la libre circulación de los trabajadores en el marco del Espacio Económico Europeo; Suiza también participa en ella. Entre los socios de la red se encuentran servicios públicos de empleo, sindicatos y organizaciones patronales. La Comisión Europea es la encargada de su coordinación.

Acuerdo entre Infocampus y Synerquia

El portal de empleo de Infocampus incorpora desde hoy viernes 14 de noviembre, las ofertas de empleo de Synerquia, empresa de gestión de la selección de personal. Gracias a este acuerdo, cientos de ofertas de empleo estarán disponibles cada semana para la comunidad universitaria.

Para poder inscribirse en una oferta será necesario disponer de un videocurrículum. ¡Impresiona a las empresas con un currículum en video!

Está previsto que en los próximos días podamos anunciar más acuerdos de este tipo. Agradecemos la amabilidad del personal de Synerquia y su buena predisposición para llevar a cabo la integración.

Acuerdo entre Infocampus y la Sociedad Pública de Alquiler

La red de anuncios de Infocampus incorpora desde hoy viernes 7 de noviembre, las viviendas de la Sociedad Pública de Alquiler del Ministerio de la Vivienda. Fruto de un acuerdo de colaboración entre Infocampus y la SPA, ahora, las características de más de 1000 viviendas en régimen de alquiler de toda España las puedes consultar desde nuestro portal de anuncios clasificados, en la categoría de Viviendas SPA .

En los próximos días se anunciarán nuevos acuerdos con organizaciones y plataformas de empleo locales y nacionales.

Visitas virtuales en Infocampus con StreetView. Datos técnicos

Si ayer os informábamos de la nueva opción incluida en el portal de anuncios de Infocampus para poder realizar visitas virtuales, hoy vamos a contaros cómo se puede conseguir integrar el sitema de Google Street View en una página web, solventando el problema de determinar si una coordenada pertenece a una ciudad disponible en Street View.

Primeros pasos

En nuestro ejemplo, vamos a tener dos capas: una para el mapa y otra para el Street View, de manera que cuando se pinche en un punto del mapa, mostremos ese punto en la capa de Street View:

  1. <div id=”mapa” style=”width:400px; height:150px;”></div>
  2. <div id=”pano” style=”width:400px; height:150px;”></div>

En javascript, cuando detectamos si el navegador es compatible con Google Maps, le decimos a la API que la capa con id pano va a ser una vista Street View. Además, mostramos un mensaje de error en caso de que el navegador del usuario no tuviera Flash (requerido para Street View). Por último, añadimos el listener para cuando se pinche en un punto del mapa, se muestre la calle en Street View.

  1. // función que se ejecutará en caso de error
  2. function handleNoFlash(errorCode) {
  3. if (errorCode == FLASH_UNAVAILABLE) {
  4. alert(”Error: Flash no encontrado”);
  5. return;
  6. }
  7. }
  8. if (GBrowserIsCompatible()) {
  9. var myPano = new GStreetviewPanorama(document.getElementById(”pano”));
  10. GEvent.addListener(myPano, “error”, handleNoFlash);
  11. … (crear el mapa con new GMap2, añadir controles, centrarlo…)
  12. // al hacer click en un punto del mapa muestra la vista Street View
  13. GEvent.addListener(map,”click”, function(overlay,latlng) {
  14. myPano.setLocationAndPOV(latlng);
  15. });
  16. }

Y ya está! Solamente con este código tendríais un mapa en el que al pinchar en un punto, se mostraría la calle. El problema: Street View solamente está disponible en cuatro ciudades españolas: Madrid, Barcelona, Sevilla y Valencia.

Detectar si una coordenada está disponible en Street View

Lamentablemente, Google todavía no tiene nada que te indique si una coordenada está disponible en Street View, por lo que debemos construirnos un sistema que lo detecte.

Utilizando las llamadas HTTP a Google, y con la nueva opción de geocodificación inversa (obtener una dirección a partir de un par latitud/longitud) podemos conocer el país, provincia, localidad e incluso dirección de un punto, por lo tanto consultando estos valores podemos saber si un punto está disponible para Street View.

Si realizamos una llamada a http://www.google.es/maps/geo?output=xml&oe=utf8&ll=41.442041,2.18749 obtendremos un XML, que nos indicará que se corresponde con la dirección: Plaça de Mossèn Clapés, 08030, Barcelona, España.

Ya sabemos como tener la información, ahora hay que usarla, nosotros lo haremos en PHP con ayuda de SimpleXML:

  1. define(’MAPS_HOST’,'www.google.es’);
  2. define(’GOOGLE_MAPS_KEY’,'vuestra_clave’);
  3. $delay=0;
  4. $base_url = “http://” . MAPS_HOST . “/maps/geo?output=xml&oe=utf8″ . “&key=” .GOOGLE_MAPS_KEY;
  5. $geocode_pending = true;
  6. $coordenadas=’41.442041,2.18749′;
  7. while ($geocode_pending) {
  8. $request_url = $base_url . “&ll=” . $anuncio_coordinadas;
  9. $xml = simplexml_load_file($request_url) or die(”url not loading”);
  10. $status = $xml->Response->Status->code;
  11. if (strcmp($status, “200″) == 0) {
  12. // geocodificación inversa resuelta
  13. $geocode_pending = false;
  14. $pais = $xml->Response->Placemark->AddressDetails->Country->CountryNameCode;
  15. $provincia = $xml->Response->Placemark->AddressDetails->Country->AdministrativeArea->SubAdministrativeArea->SubAdministrativeAreaName;
  16. $localidad = $xml->Response->Placemark->AddressDetails->Country->AdministrativeArea->SubAdministrativeArea->Locality->LocalityName;
  17. if ($pais_mapa==’ES’ && (
  18. ($provincia_mapa==’Madrid’ && $localidad_mapa==’Madrid’) || ($provincia_mapa==’Barcelona’ && $localidad_mapa==’Barcelona’) ||
    ($provincia_mapa==’Valencia’ && $localidad_mapa==’Valencia’) ||
    ($provincia_mapa==’Sevilla’ && $localidad_mapa==’Sevilla’)
    )) {
  19. // tiene streetview disponible!!
  20. $streetview=1;
  21. }
  22. } else if (strcmp($status, “620″) == 0) {
  23. // se reduce la velocidad de peticiones
  24. $delay += 100000;
  25. } else {
  26. // fallo al realizar la geocodificación inversa
  27. $geocode_pending = false;
  28. }
  29. usleep($delay);
  30. }
  31. }

Nos quedaría en la variable $streetview un 1 si está disponible en ese punto, o un 0 si no lo está. Si tenemos varios mapas es recomendable guardar esta información, para evitar tener que estar resolviendo siempre si el mapa va a tener Street View disponible.

Esta solución es obviamente mejorable en dos sentidos: Google proporcionará una manera de conocer si un punto está disponible en Street View, lo que nos facilitará mucho la tarea, y por otra parte, mientras no añada esta opción, y se vayan añadiendo ciudades, este código puede volverse muy engorroso.

Recordad que podeis ver el ejemplo funcionando en alguno de los anuncios de Infocampus: por ejemplo, http://anuncios.infocampus.es/anuncio/2008-11-04-30-alquilo-piso-en-el-barrio-de-sant-andreubarcelona

Visitas virtuales en Infocampus con StreetView

Ejemplo de anuncio con mapa y StreetView

¿Qué vistas tiene el tercer piso que estoy a punto de alquilar?, ¿hay algún supermercado cerca?, ¿cómo es el portal? Hasta ahora, no había manera de conseguir esta información sin visitar la vivienda, pero las cosas han cambiado en Infocampus…

Os presentamos la última novedad introducida en el portal de anuncios de Infocampus: visitas virtuales por las calles de las principales ciudades españolas.

Gracias a la tecnología Google Street View, esta opción estará disponible en todos los anuncios de Infocampus que tengan un mapa asociado y que estén en Madrid, Barcelona, Valencia o Sevilla.

A medida que Google vaya actualizando las ciudades disponibles, las iremos incorporando a Infocampus.

Esperamos que sea de vuestra utilidad ;)