<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GIS &#38; Chips &#187; Google Maps</title>
	<atom:link href="http://www.gisandchips.org/tag/google-maps/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gisandchips.org</link>
	<description>Geografía útil para llevar</description>
	<lastBuildDate>Tue, 29 Nov 2011 10:38:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>API de Google + OpenStreetMap y otros servicios georreferenciados</title>
		<link>http://www.gisandchips.org/2010/03/24/api-de-google-openstreetmap-y-otros-servicios-georreferenciados/</link>
		<comments>http://www.gisandchips.org/2010/03/24/api-de-google-openstreetmap-y-otros-servicios-georreferenciados/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 11:22:00 +0000</pubDate>
		<dc:creator>pepe</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[OpenStreetMap]]></category>

		<guid isPermaLink="false">http://www.gisandchips.org/?p=1551</guid>
		<description><![CDATA[Voy a tratar de diseñar un visor de cartografía utilizando el API de Google Maps ( si quereis saber más sobre este tema, podeis leer artículos en esta misma web que hacen referencia:  Google Web Toolkit &#38; Google Maps, Integración de un servicio WMS en GoogleMaps usando GWT )  con la cartografía de OpenStreetMap y [...]]]></description>
			<content:encoded><![CDATA[<p>Voy a tratar de diseñar un visor de cartografía utilizando el <a href="http://code.google.com/intl/es/apis/maps/" target="_blank"><strong>API </strong>de <strong>Google Maps</strong></a> ( si quereis saber más sobre este tema, podeis leer artículos en esta misma web que hacen referencia:  <a title="Google Web Toolkit &amp; Google Maps" href="../2009/11/20/google-web-toolkit-google-maps/"><a href="http://www.gisandchips.org/2009/11/20/google-web-toolkit-google-maps/" target="_blank">Google Web Toolkit &amp;  Google Maps</a>,</a><a title="Integración de un servicio WMS en GoogleMaps usando GWT" href="http://www.gisandchips.org/2010/01/18/integracion-de-un-servicio-wms-en-googlemaps-usando-gwt/" target="_self"> Integración  de un servicio WMS en GoogleMaps usando GWT </a>)  con  la cartografía de <a href="http://www.openstreetmap.org" target="_blank"><strong>OpenStreetMap</strong></a> y además voy a incluir datos de servicios de tipo  georeferenciado (<a href="http://www.panoramio.com" target="_blank"><strong>panoramio</strong></a>, <a href="http://www.youtube.com" target="_blank"><strong>youtube</strong></a>, <a href="http://www.flickr.com" target="_blank"><strong>flickr</strong></a>, <strong>kml</strong>, <a href="http://es.wikipedia.org" target="_blank"><strong>wikipedia</strong></a>,&#8230;) en dicho mapa.</p>
<p><a href="http://www.gisandchips.org/wp-content/mapa.png"><img class="alignleft size-medium wp-image-1567" style="margin-left: 5px;margin-right: 5px;border: 0pt none" src="http://www.gisandchips.org/wp-content/mapa-300x170.png" alt="Muestra un curioso mapa mundial lleno de etiquetas de los servicios georreferenciados" width="300" height="170" /></a>Ya aviso que, una vez que muestro todos los servicios en el mapa,  queda  un mapa demasiado lleno de elementos, pero eso  es justo lo que  pretendo con este visor, tener todos los elementos en el mismo mapa y  que se visualicen tanto fotos, videos, artículos de la wikipedia,kml,&#8230;  a la vez, permitiéndo incluso añadir muchos más elementos.</p>
<p>En primer lugar, para mostrar el mapa de <strong>Google Maps</strong>, necesito registrar la clave previamente para el sitio web en cuestion que voy a tratar.</p>
<p><span id="more-1551"></span></p>
<p>Y una vez registrada la clave ya se puede realizar el visor,  la programación del visor sería la siguiente:</p>
<pre class="brush: php; title: ; notranslate">
//Hojas de estilo de google maps
 &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.7.0/build/reset-fonts-grids/reset-fonts-grids.css&quot;&gt;
 &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.7.0/build/base/base-min.css&quot;&gt;
 &lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;key=clave_registrada_en_google&quot;&gt;&lt;/script&gt;

&lt;script
type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
 google.load(&quot;maps&quot;, &quot;2.x&quot;);

 function load()
 {
 if (!GBrowserIsCompatible())
 return;

 //definicion de variable de copyright del mapa
 var copyOSM = new GCopyrightCollection(&quot;GIS&amp;Chips 2010&quot;);
 copyOSM.addCopyright(new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, &quot; &quot;));

 //definicion de las tiles de OpenStreetMap que iran por bajo del mapa
 var tilesMapnik     = new GTileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png'});
 var tilesOsmarender = new GTileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://tah.openstreetmap.org/Tiles/tile/{Z}/{X}/{Y}.png'});
 var tilesCycle = new GTileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://a.andy.sandbox.cloudmade.com/tiles/cycle/{Z}/{X}/{Y}.png'});

 var mapMapnik     = new GMapType([tilesMapnik],     G_NORMAL_MAP.getProjection(), &quot;Mapnik&quot;);
 var mapOsmarender = new GMapType([tilesOsmarender], G_NORMAL_MAP.getProjection(), &quot;Osmarend&quot;);
 var mapCycleMap = new GMapType([tilesCycle], G_NORMAL_MAP.getProjection(), &quot;CycleMap&quot;);

 //definicion de mapa incluyendo los tres tiles de OpenStreetMap

 var map           = new GMap2(document.getElementById(&quot;map&quot;), { mapTypes: [mapMapnik, mapOsmarender,mapCycleMap] });

 //se añaden los controles de mapa del API de Google Maps
 map.addControl(new GLargeMapControl()); //control de desplazamiento y acercamiento de gran tamaño empleado en  Google Maps.
 map.addControl(new GMapTypeControl());  //Permite alternar entre los diferentes tipos de mapas (en este caso las tres tiles)
 map.addControl(new GOverviewMapControl()); //Este control nos permite mostrar una ventana de vista rápida contraible

//Situado el centro, las coordenadas de la Universidad de Alicante
 map.setCenter( new GLatLng(38.38575, -0.51486), 16);

 map.enableScrollWheelZoom();
 map.enableContinuousZoom();

 //Se definen como GLayers los servicios georeferenciados que quiero incluir

 var wikipedia = new GLayer(&quot;org.wikipedia.es&quot;);
 var panoramio = new GLayer(&quot;com.panoramio.all&quot;);
 var youtube = new GLayer(&quot;com.youtube.all&quot;);
 var webcam = new GLayer(&quot;com.google.webcams&quot;);

 map.addOverlay(wikipedia);
 map.addOverlay(panoramio);
 map.addOverlay(youtube);
 map.addOverlay(webcam);

 //En este caso como los servicios son un xml se añaden como GGeoXML(tanto el api de flickr como cualquier KML que quiera incluir lo debo definir as�)
 var geoXmlFlickr;
 geoXmlFlickr = new GGeoXml(&quot;http://api.flickr.com/services/feeds/geo/?tags=universidad+alicante&quot;);
 map.addOverlay(geoXmlFlickr);

//Ejemplo de introducción de un KML
 var tram = new GGeoXml(&quot;http://www.sigua.ua.es/web/utils/acceso/kml/TRAM4.kml&quot;);
 map.addOverlay(tram);
 }
</pre>
<p style="text-align: center">Aqui se puede ver como se muestra en el mapa el KML importado<br />
<a href="http://www.gisandchips.org/wp-content/kml.png"><img class="size-medium wp-image-1560 aligncenter" src="http://www.gisandchips.org/wp-content/kml-300x246.png" alt="Se muestra como queda la integracion de un archivo kml con información sobre una linea de tranvia en Alicante en el mapa anteriormente desarrollado" width="300" height="246" /></a></p>
<pre class="brush: xml; title: ; notranslate">

 &lt;/script&gt;

 &lt;/head&gt;

 &lt;body onload=&quot;load()&quot; onunload=&quot;GUnload()&quot;&gt;
 &lt;div&gt;
 &lt;div role=&quot;main&quot;&gt;
 &lt;div&gt;
 &lt;div id=&quot;map&quot; style=&quot;width: 100%; height: 600px;&quot;&gt;&lt;/div&gt;

 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
</pre>
<p>El visor completo con todos los datos estaría accesible desde la siguiente URL:<br />
<a class="aligncenter" title="Mapa " href="http://www.gisandchips.org/demos/pepe/osm/test.html" target="_blank">http://www.gisandchips.org/demos/pepe/osm/test.html</a></p>
<p>Como digo, este mapa incluye tantos elementos que a veces es un poco  extraño, pero es justo lo que pretendía, incluir muchos servicios en un  mismo mapa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gisandchips.org/2010/03/24/api-de-google-openstreetmap-y-otros-servicios-georreferenciados/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Web Toolkit &amp; Google Maps</title>
		<link>http://www.gisandchips.org/2009/11/20/google-web-toolkit-google-maps/</link>
		<comments>http://www.gisandchips.org/2009/11/20/google-web-toolkit-google-maps/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 14:40:09 +0000</pubDate>
		<dc:creator>jpiera</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.gisandchips.org/?p=1034</guid>
		<description><![CDATA[Google Web Toolkit (GWT) es un framework creado por Google que permite al programador hacer aplicaciones web utilizando el lenguaje de programación Java. Existe un plugin de Eclipse que se utiliza para facilitar la generación de aplicaciones GWT donde se puede depurar código utilizando el depurador de código del entorno. Una vez que la aplicación [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/intl/es-ES/webtoolkit/">Google Web Toolkit</a> (GWT) es un framework creado por Google que permite al programador hacer aplicaciones web utilizando el lenguaje de programación Java. Existe un plugin de Eclipse que se utiliza para facilitar la generación de aplicaciones GWT donde se puede depurar código utilizando el depurador de código del entorno. Una vez que la aplicación esta depurada, se tiene que pasar por el compilador GWT que genera código HTML y Javascript. La idea es poder generar páginas que utilicen la tecnología Ajax (HTML + Javascript asíncrono), sin ser necesario escribir ni una sola línea de Javascript.</p>
<p><a href="http://maps.google.es">Google Maps</a> es un servicio de mapas que ofrece Google que tiene un <a href="http://code.google.com/intl/es-ES/apis/maps/documentation/v3/">API</a> que permite integrarlo en cualquier página web utilizando Javascript. Pero si estamos utilizando GWT, existe además un jar que contiene un API para Java lo que permite a un programador de GWT poder integrar la tecnología de Google Maps en sus páginas web. Este artículo explica ese API y mediante ejemplos.<span id="more-1034"></span></p>
<p>En este tutorial vamos a crear un proyecto de GWT y le vamos a añadir un mapa de Google Maps. Partiremos de un entorno en el que se ha instalado un Eclipse y se ha instalado el plugin de GWT. A continuación hay que crear un proyecto del tipo &#8220;Google -&gt; Web Application Project&#8221; que tiene que tener un nombre (GoogleMapsDemo) y un paquete raíz(org.gisandchips.gwt.maps). No es necesario utilizar los mismos nombres que se usan en el ejemplo, pero si se hace así se podrá seguir este tutorial sin la necesidad modificar nada.</p>
<p style="text-align: center">
<p><a href="http://www.gisandchips.org/wp-content/Pantallazo-New-Web-Application-Project-.png"><img class="size-full wp-image-1035 alignnone" src="http://www.gisandchips.org/wp-content/Pantallazo-New-Web-Application-Project-.png" alt="Pantallazo-New Web Application Project" width="300" height="260" /></a></p>
<p>El wizard de creación de un proyecto GWT crea un proyecto que se puede ejecutar: para ello seleccionamos la opción &#8220;Run -&gt; Debug Configurations -&gt; Web Application&#8221; y seleccionaremos GoogleMapsDemo que es el lanzador que ha creado el wizard por nosotros. Pulsamos en &#8220;Debug&#8221; y si todo va bien se abrirá un navegador que muestra un formulario con un único campo de texto y un botón para enviar.</p>
<p>Podemos rellenar el campo de texto con cualquier valor y al pulsar el botón se abrirá una ventana dónde el servidor nos da la bienvenida. ¿Y qué tiene esto de especial? Lo que realmente ha ocurrido es que el cliente ha enviado una petición asíncrona (¡el famoso Ajax!) y ha esperado a que el servidor le devuelva una respuesta para mostrarla.</p>
<p><a href="http://www.gisandchips.org/wp-content/Screenshot-Web-Application-Starter-Project-.png"><img class="size-full wp-image-1074 alignnone" src="http://www.gisandchips.org/wp-content/Screenshot-Web-Application-Starter-Project-.png" alt="Screenshot-Web Application Starter Project" width="400" height="300" /></a></p>
<p>Ahora que ya sabemos crear y ejecutar una aplicación en GWT vamos a crear una aplicación utilizando Google Maps. Primero hay que <a href="http://code.google.com/p/gwt-google-apis/downloads/list">descargarse</a> la librería de Google Maps para GWT desde la página web de Google (gwt-maps-XXX), hay que descomprimirla, y hay que copiar el jar gwt-maps a la carpeta &#8220;war -&gt; WEB-INF -&gt; lib&#8221; de nuestro proyecto. A continuación hay que modificar el path del proyecto (&#8220;Project -&gt; Properties -&gt; Java Build Path -&gt; Libraries -&gt; Add Jars&#8221;) y añadir la librería que acabamos de bajar.</p>
<p>Con esto ya tenemos acceso desde el Eclipse a las clases de Google Maps, pero para tener acceso en tiempo de ejecución tenemos que editar el fichero &#8220;org.gisandchips.gwt.maps.GoogleMapsDemo.gwt.xml&#8221; y añadir una línea para incluir la dependencia en el proyecto. Al final el fichero quedará de esta forma:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE module PUBLIC &quot;-//Google Inc.//DTD Google Web Toolkit 1.7.1//EN&quot; &quot;http://google-web-toolkit.googlecode.com/svn/tags/1.7.1/distro-source/core/src/gwt-module.dtd&quot;&gt;
&lt;module rename-to='googlemapsdemo'&gt;
 &lt;!-- Inherit the core Web Toolkit stuff.                        --&gt;
 &lt;inherits name='com.google.gwt.user.User'/&gt;

 &lt;!-- Inherit the default GWT style sheet.  You can change       --&gt;
 &lt;!-- the theme of your GWT application by uncommenting          --&gt;
 &lt;!-- any one of the following lines.                            --&gt;
 &lt;inherits name='com.google.gwt.user.theme.standard.Standard'/&gt;
 &lt;!-- &lt;inherits name='com.google.gwt.user.theme.chrome.Chrome'/&gt; --&gt;
 &lt;!-- &lt;inherits name='com.google.gwt.user.theme.dark.Dark'/&gt;     --&gt;

 &lt;!-- Other module inherits                                      --&gt;

 &lt;!-- Specify the app entry point class.                         --&gt;
 &lt;entry-point class='org.gisandchips.gwt.maps.client.GoogleMapsDemo'/&gt;

 &lt;!-- Load the Google Maps GWT bindings from the gwt-google-apis project --&gt;
 &lt;!-- Added by projectCreator if you use the -addModule argument --&gt;
 &lt;inherits name=&quot;com.google.gwt.maps.GoogleMaps&quot; /&gt;
 &lt;script src=&quot;http://maps.google.com/maps?gwt=1&amp;amp;file=api&amp;amp;v=2&amp;amp;sensor=false&quot; /&gt;
&lt;/module&gt;
</pre>
<p>Tal y como se indica en el fichero XML, la clase &#8220;org.gisandchips.gwt.maps.client.GoogleMapsDemo&#8221; es la que contiene el punto de entrada a la aplicación, por lo tanto es aquí donde hay que introducir el código Java que generará la página web. Por otra parte, el fichero &#8220;GoogleMapsDemo.html&#8221; que hay en la carpeta war es el que contiene el HTML de entrada y que habrá que editar para personalizar una nuestra página de inicio. En nuestro caso vamos a modificar el título y a añadir una etiqueta donde se situará el mapa. El &#8220;body&#8221; del documento quedaría de la siguiente forma:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;body&gt;

 &lt;!-- OPTIONAL: include this if you want history support --&gt;
 &lt;iframe src=&quot;javascript:''&quot; id=&quot;__gwt_historyFrame&quot; tabIndex='-1' style=&quot;position:absolute;width:0;height:0;border:0&quot;&gt;&lt;/iframe&gt;

 &lt;h1&gt;Mi primer ejemplo con GWT y Google Maps&lt;/h1&gt;

 &lt;table align=&quot;center&quot;&gt;
 &lt;tr&gt;
 &lt;td id=&quot;mapContainer&quot;&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;/body&gt;
</pre>
<p>A continuación hay que editar la clase &#8220;org.gisandchips.gwt.maps.client.GoogleMapsDemo&#8221;. Eliminamos todo el código del método &#8220;onModuleLoad&#8221; y añadimos el siguiente código java:</p>
<pre class="brush: java; title: ; notranslate">

public void onModuleLoad() {
 MapWidget mapWidget = new MapWidget();
 mapWidget.setSize(&quot;1000&quot;, &quot;500&quot;);

 RootPanel.get(&quot;mapContainer&quot;).add(mapWidget);

}
</pre>
<p>Ahora ya podemos lanzar el proyecto una vez más para ver los resultados. Se abrirá el navegador y tendremos que ver una página web con un mapa en el centro donde podremos hacer panning y desplazarnos.</p>
<p><a href="http://www.gisandchips.org/wp-content/Screenshot-Web-Application-Starter-Project-1.png"><img class="size-full wp-image-1091 alignnone" src="http://www.gisandchips.org/wp-content/Screenshot-Web-Application-Starter-Project-1.png" alt="Screenshot-Web Application Starter Project" width="500" height="350" /></a></p>
<p>Ahora que sabemos cómo introducir un mapa de todo el planeta en nuestra aplicación, vamos a modificar algunas de las propiedades del objeto &#8220;MapWidget&#8221; que es el que representa al mapa. Primero vamos a añadir algunos componentes al mapa mediante el método &#8220;addControl&#8221;.</p>
<p>Podemos introducir una barra de navegación que permitirá hacer zoom añadiendo un objeto de tipo &#8220;LargeMapControl&#8221;. También podemos añadir un combo que permitirá seleccionar los distintos formatos de GoogleMaps utilizando el objeto &#8220;MenuMapTypeControl&#8221;.  El método &#8220;onModuleLoad&#8221; quedaría así:</p>
<pre class="brush: java; title: ; notranslate">
public void onModuleLoad() {
MapWidget mapWidget = new MapWidget();
mapWidget.setSize(&quot;1000&quot;, &quot;500&quot;);

//Añadimos la barra de navegación
mapWidget.addControl(new LargeMapControl());

//Añadimos el combo con los formatos
mapWidget.addControl(new MenuMapTypeControl());

RootPanel.get(&quot;mapContainer&quot;).add(mapWidget);
}
</pre>
<p>Ahora volvemos ejecutar la aplicación y podremos ver los nuevos componentes introducidos en el mapa.</p>
<p>Llagados a esta punto ya hemos comentado los pasos básicos que hay que hacer para integrar un mapa de Google Maps en una web realizada mediante GWT. En los próximos artículos veremos cómo se pueden hacer búsquedas en el mapa y cómo se puede personalizar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gisandchips.org/2009/11/20/google-web-toolkit-google-maps/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

