Difference between revisions of "OpenLayers Tutorial Pt"
| Line 14: | Line 14: | ||
| − | == "Olá | + | == "Olá Mundo" OpenLayers == |
| − | http://openlayers.org/ | + | |
| + | [[OpenLayers.Map|Map]] e [[OpenLayers.Map|Layer] são dois conceitos importantes na construção de um mapa com o API [[OpenLayers]]. | ||
| + | Um [[OpenLayers.Map|Map]] guarda informação acerca do mapa: projecção base, extensão, unidades e etc. | ||
| + | |||
| + | Dentro do [[OpenLayers.Map|Map]] a informação é disponibilizada via [[OpenLayers.Layer|Layer]]'s, que sendo a fonte de informação, define como esta deve ser requerida e apresentada. | ||
| + | |||
| + | O [[OpenLayers]] suporta a inserção de mapas em quase todas as tags html de tipo block-level, como por exemplo TODO | ||
| + | |||
| + | Para construir um visualizador [[OpenLayers]] numa página web, basta inseri-lo numa tag deste tipo | ||
| + | |||
| + | incluindo uma tag script para incluir a [[OpenLayers_API|biblioteca OpenLayers]] na página. | ||
| + | |||
| + | <small>Exemplo HTML para criar um OpenLayers Map</small> | ||
| + | <pre> | ||
| + | <html> | ||
| + | <head> | ||
| + | <title>OpenLayers Example</title> | ||
| + | <script | ||
| + | src="http://openlayers.org/api/OpenLayers.js"></script> | ||
| + | </head> | ||
| + | <body> | ||
| + | <div style="width:100%; height:100%" id="map"></div> | ||
| + | </body> | ||
| + | </html> | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | Cria-se o [[OpenLayers.Map|Map]] através do construtor [[OpenLayers.Map|OpenLaer.Map]], que tem como o argumento o elemento HTML onde estará contido ou o seu ID | ||
| + | |||
| + | |||
| + | <small>Construtor do Map</small> | ||
| + | <pre> | ||
| + | var map = new OpenLayers.Map('map'); | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | O OpenSources suporta vários data sources, WMS, Yahoo! Maps, WorldWind e etc. LOOOOOL FIXME | ||
| + | |||
| + | Neste exemplo utiliza-se como Layer um WMS da MetaCarta. | ||
| + | |||
| + | Para adicionar uma Layer ao Map, o construtor do Layer tem como parametros a URL do WMS server usado, e um objecto que contem os parametros a serem anexados ao pedido WMS. | ||
| + | |||
| + | <small>Construtor do Layer</small> | ||
| + | <pre> | ||
| + | var wms = new OpenLayers.Layer.WMS( | ||
| + | |||
| + | "http://labs.metacarta.com/wms/vmap0", | ||
| + | |||
| + | {'layers':'basic'} ); | ||
| + | |||
| + | map.addLayer(wms); | ||
| + | </pre> | ||
| + | |||
| + | Para apresentar o mapa é preciso definir o center e zoom level. | ||
| + | |||
| + | A função zoomToMaxExtent permite fazer com que o mapa encaixe no tamanho da janela com o maior zoom possível. | ||
| + | |||
| + | Juntando todas estas as partes: | ||
| + | <small>HTML e Javascript para um browser com WMS</small> | ||
| + | <pre> | ||
| + | <html> | ||
| + | <head> | ||
| + | <title>OpenLayers Example</title> | ||
| + | <script | ||
| + | src="http://openlayers.org/api/OpenLayers.js"></script> | ||
| + | </head> | ||
| + | <body> | ||
| + | <div style="width:100%; height:100%" id="map"></div> | ||
| + | <script defer="defer" type="text/javascript"> | ||
| + | var map = new OpenLayers.Map('map'); | ||
| + | var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", | ||
| + | "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); | ||
| + | map.addLayer(wms); | ||
| + | map.zoomToMaxExtent(); | ||
| + | </script> | ||
| + | </body> | ||
| + | </html> | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | Adicionar um Overlay WMS | ||
| + | |||
| + | As Layers WMS tem a capacidade de sobrepor outras Layers WMS numa mesma projecção, definindo-se para tal como um Overlay. | ||
| + | |||
| + | Isto pode ser feito de diversas maneiras. Definir o parametro transparent como true é a melhor opção no caso WMS. | ||
| + | |||
| + | <small>Como adicionar um Overlay WMS transparente a um Map.</small> | ||
| + | <pre> | ||
| + | var twms = new OpenLayers.Layer.WMS( "World Map", | ||
| + | |||
| + | "http://world.freemap.in/cgi-bin/mapserv?", | ||
| + | |||
| + | { map: '/www/freemap.in/world/map/factbooktrans.map', | ||
| + | |||
| + | transparent: 'true', layers: 'factbook', | ||
| + | |||
| + | format: 'png'} ); | ||
| + | |||
| + | map.addLayer(twms); | ||
| + | </pre> | ||
| + | |||
| + | --->>>> imggtngstrtd2 | ||
| + | |||
| + | Google Maps | ||
| + | |||
| + | Para criar um Google Map no OpenLayers é necessário incluir uma tag script Google Maps para o dominio em questão, | ||
| + | |||
| + | especificando a respectiva chave da Google Maps API. | ||
| + | |||
| + | <small>Example script URL for Google Maps</small> | ||
| + | <pre> | ||
| + | <script src="http://maps.google.com/maps?file=api&v=2&key=YourKey" | ||
| + | type="text/javascript"></script> | ||
| + | </pre> | ||
| + | |||
| + | Uma vez incluída a esta tag, basta adicionar um novo tipo de Layer ao Map: | ||
| + | |||
| + | <small>Creating a Hybrid Map, and adding it to the map</small> | ||
| + | <pre> | ||
| + | var google = new OpenLayers.Layer.Google( "Google", { type: G_HYBRID_MAP } ); | ||
| + | |||
| + | map.addLayer(google); | ||
| + | </pre> | ||
| + | |||
| + | Neste exemplo é utilizado um mapa do tipo G_HYBRID_MAP, o G_SATELLITE_MAP também é suportado. | ||
| + | |||
| + | |||
| + | --->>>> imggtngstrtd1 | ||
== Exemplos, passo a passo == | == Exemplos, passo a passo == | ||
Revision as of 08:18, 28 September 2008
Introdução
OpenLayers é uma biblioteca JavaScript open-source, sob licença BSD, que permite construir páginas web contendo informação geo-espacial dinâmica e independente de servidor. Implementa uma API JavaSript, ainda em desenvolvimento, que permite a construção de aplicações geográficas web-based, disponilbilizando APIs como o Google Maps e o MSN Virtual Earth, desta feita, como software livre. Criado pela MetaCarta, que continua a desempenhar um papel activo no suporte e gestão deste projecto, pertence desde de Novembro de 2007 à Open Source Geospatial Foundation que apoia e promove o desenvolvimento cooperativo de tecnologias e dados geo-espaciais.
"Olá Mundo" OpenLayers
Map e [[OpenLayers.Map|Layer] são dois conceitos importantes na construção de um mapa com o API OpenLayers. Um Map guarda informação acerca do mapa: projecção base, extensão, unidades e etc.
Dentro do Map a informação é disponibilizada via Layer's, que sendo a fonte de informação, define como esta deve ser requerida e apresentada.
O OpenLayers suporta a inserção de mapas em quase todas as tags html de tipo block-level, como por exemplo TODO
Para construir um visualizador OpenLayers numa página web, basta inseri-lo numa tag deste tipo
incluindo uma tag script para incluir a biblioteca OpenLayers na página.
Exemplo HTML para criar um OpenLayers Map
<html>
<head>
<title>OpenLayers Example</title>
<script
src="http://openlayers.org/api/OpenLayers.js"></script>
</head>
<body>
<div style="width:100%; height:100%" id="map"></div>
</body>
</html>
Cria-se o Map através do construtor OpenLaer.Map, que tem como o argumento o elemento HTML onde estará contido ou o seu ID
Construtor do Map
var map = new OpenLayers.Map('map');
O OpenSources suporta vários data sources, WMS, Yahoo! Maps, WorldWind e etc. LOOOOOL FIXME
Neste exemplo utiliza-se como Layer um WMS da MetaCarta.
Para adicionar uma Layer ao Map, o construtor do Layer tem como parametros a URL do WMS server usado, e um objecto que contem os parametros a serem anexados ao pedido WMS.
Construtor do Layer
var wms = new OpenLayers.Layer.WMS(
"http://labs.metacarta.com/wms/vmap0",
{'layers':'basic'} );
map.addLayer(wms);
Para apresentar o mapa é preciso definir o center e zoom level.
A função zoomToMaxExtent permite fazer com que o mapa encaixe no tamanho da janela com o maior zoom possível.
Juntando todas estas as partes: HTML e Javascript para um browser com WMS
<html>
<head>
<title>OpenLayers Example</title>
<script
src="http://openlayers.org/api/OpenLayers.js"></script>
</head>
<body>
<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(wms);
map.zoomToMaxExtent();
</script>
</body>
</html>
Adicionar um Overlay WMS
As Layers WMS tem a capacidade de sobrepor outras Layers WMS numa mesma projecção, definindo-se para tal como um Overlay.
Isto pode ser feito de diversas maneiras. Definir o parametro transparent como true é a melhor opção no caso WMS.
Como adicionar um Overlay WMS transparente a um Map.
var twms = new OpenLayers.Layer.WMS( "World Map",
"http://world.freemap.in/cgi-bin/mapserv?",
{ map: '/www/freemap.in/world/map/factbooktrans.map',
transparent: 'true', layers: 'factbook',
format: 'png'} );
map.addLayer(twms);
--->>>> imggtngstrtd2
Google Maps
Para criar um Google Map no OpenLayers é necessário incluir uma tag script Google Maps para o dominio em questão,
especificando a respectiva chave da Google Maps API.
Example script URL for Google Maps
<script src="http://maps.google.com/maps?file=api&v=2&key=YourKey"
type="text/javascript"></script>
Uma vez incluída a esta tag, basta adicionar um novo tipo de Layer ao Map:
Creating a Hybrid Map, and adding it to the map
var google = new OpenLayers.Layer.Google( "Google", { type: G_HYBRID_MAP } );
map.addLayer(google);
Neste exemplo é utilizado um mapa do tipo G_HYBRID_MAP, o G_SATELLITE_MAP também é suportado.
--->>>> imggtngstrtd1
Exemplos, passo a passo
http://openlayers.org/dev/examples/
Guia de Utilização
http://trac.openlayers.org/wiki/UserGuide http://www.openlayers.org/QuickTutorial/
Funcionalidades Avançadas
Exemplo de uma app já com muita cena :)
Fornecedores de Serviços
Features:
- Load map data from many sources:
- GeoRSS support
Outros Recursos
http://dev.openlayers.org/apidocs/index/General.html
Before Getting Started -- The Technologies Behind OpenLayers
We at !OpenLayers generally assume that everyone who comes to us is already a highly skilled web programmer. Such, however, is not always the case. Here we have assembled a few quick links to tutorials and the like on how to master the art of coding in !JavaScript, debug in Firebug, understand JSON, etc.
* Introduction to JavaScript by the people at mootools. * Four-part video series by Douglas Crockford on Programming in JavaScript * Crockford's JavaScript page * Introduction to JSON * Debugging with Firebug