SlideShare a Scribd company logo
1 of 29
Fernando Quadro <fernando.quadro@softplan.com.br> Introdução ao OpenLayers
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O que é o OpenLayers?
O que é o OpenLayers? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
História ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitetura http Webserver (Proxy) http (REST) OpenLayers Client Arquivos SQL SGBD-Geo http http Internet
Componentes
Componentes: Layers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Componentes: Controles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Demonstração Rápida OpenLayers Example OMNI   VERDI PEGEL  ONLINE http://olarchitect.com/ http://www.ominiverdi.org/openlayers/ http://www.pegelonline.wsv.de/ http://www.openlayers.org/dev/examples/
Mão na massa: Layers - WMS 1 2 3 4 5
Mão na massa: Layers - WMS // Registra o evento de click map.events.register('click', map, function (e)  { // Inicializa o display de texto $('nodeList').innerHTML = &quot;Loading... &quot;; //Define os parametros para o getfeatureInfo var url =  wmslayer.getFullRequestString({ REQUEST: &quot;GetFeatureInfo&quot;, EXCEPTIONS: &quot;application/vnd.ogc.se_xml&quot;, BBOX: wms.map.getExtent().toBBOX(), X: e.xy.x, Y: e.xy.y, INFO_FORMAT: 'text/html', QUERY_LAYERS: wms.params.LAYERS, REDIUS:2, WIDTH: wmslayer.map.size.w, HEIGHT: wmslayer.map.size.h}); //Realiza o GetFeatureInfo OpenLayers.loadURL(url, '', this, setHTML); Event.stop(e); } ); //Plota o resultado function setHTML(response) { $('nodeList').innerHTML = response.responseText; }
Mão na massa: Layers - WFS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mão na massa: Layers GeoRSS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mão na massa: Layers - GMaps
Mão na massa: Layers - GMaps var googleLayer = new OpenLayers.Layer.Google( &quot;Google Satellite&quot; ,  {type: G_SATELLITE_MAP, 'maxZoomLevel':18} );  
Mão na massa: Layers - GMaps var satellite = new OpenLayers.Layer.Google( &quot;Google Maps&quot; ,  {type: G_NORMAL_MAP, 'maxZoomLevel':18} );  
Mão na massa: Layers –  V. Earth
Mão na massa: Layers –  E mais… ,[object Object],[object Object],[object Object]
Mão na massa: Controle
Mão na massa: Controle 2 3 4 6 5
Mão na massa: Propriedades
Mão na massa: Marcadores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mão na massa: Integração
Documentação Fonte:  http://dev.openlayers.org/apidocs/files/OpenLayers-js.html  [2009-01-22]
Conclusão ,[object Object],[object Object],[object Object],[object Object]
FREE Map Browsers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Créditos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Obrigado! Fernando Quadro [email_address]

More Related Content

What's hot

What's hot (20)

QGIS 3.0 새 기능 둘러보기
QGIS 3.0 새 기능 둘러보기QGIS 3.0 새 기능 둘러보기
QGIS 3.0 새 기능 둘러보기
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
 
ArcGIS API for Javascript Tutorial
ArcGIS API for Javascript TutorialArcGIS API for Javascript Tutorial
ArcGIS API for Javascript Tutorial
 
Building serverless integration solutions with Microsoft Azure
Building serverless integration solutions with Microsoft AzureBuilding serverless integration solutions with Microsoft Azure
Building serverless integration solutions with Microsoft Azure
 
HUAWEI Developer Programs Türkiye
HUAWEI Developer Programs TürkiyeHUAWEI Developer Programs Türkiye
HUAWEI Developer Programs Türkiye
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applications
 
Next.js Introduction
Next.js IntroductionNext.js Introduction
Next.js Introduction
 
Git101
Git101Git101
Git101
 
Laravel Introduction
Laravel IntroductionLaravel Introduction
Laravel Introduction
 
Laravel presentation
Laravel presentationLaravel presentation
Laravel presentation
 
Angular and The Case for RxJS
Angular and The Case for RxJSAngular and The Case for RxJS
Angular and The Case for RxJS
 
GeoServer 기초
GeoServer 기초GeoServer 기초
GeoServer 기초
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with Rails
 
Less presentation
Less presentationLess presentation
Less presentation
 
Lambda Expressions in Java
Lambda Expressions in JavaLambda Expressions in Java
Lambda Expressions in Java
 

Viewers also liked

Geospatial for Java
Geospatial for JavaGeospatial for Java
Geospatial for Java
Jody Garnett
 
Desenvolvendo aplicações geográficas com Software Livre
Desenvolvendo aplicações geográficas com Software LivreDesenvolvendo aplicações geográficas com Software Livre
Desenvolvendo aplicações geográficas com Software Livre
Fernando Quadro
 
Geo server pt_br
Geo server pt_brGeo server pt_br
Geo server pt_br
Marcos Rosa
 
Sistema de Informação Geográfica: Um mundo a ser desvendado.
Sistema de Informação Geográfica: Um mundo a ser desvendado.Sistema de Informação Geográfica: Um mundo a ser desvendado.
Sistema de Informação Geográfica: Um mundo a ser desvendado.
Fernando Quadro
 

Viewers also liked (8)

Geospatial for Java
Geospatial for JavaGeospatial for Java
Geospatial for Java
 
Desenvolvendo aplicações geográficas com Software Livre
Desenvolvendo aplicações geográficas com Software LivreDesenvolvendo aplicações geográficas com Software Livre
Desenvolvendo aplicações geográficas com Software Livre
 
GISVM
GISVMGISVM
GISVM
 
Por dentro do GeoServer
Por dentro do GeoServerPor dentro do GeoServer
Por dentro do GeoServer
 
Geo server pt_br
Geo server pt_brGeo server pt_br
Geo server pt_br
 
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
 
Introdução ao PostGIS
Introdução ao PostGISIntrodução ao PostGIS
Introdução ao PostGIS
 
Sistema de Informação Geográfica: Um mundo a ser desvendado.
Sistema de Informação Geográfica: Um mundo a ser desvendado.Sistema de Informação Geográfica: Um mundo a ser desvendado.
Sistema de Informação Geográfica: Um mundo a ser desvendado.
 

Similar to Introdução ao OpenLayers

Introdução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasIntrodução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvas
Guilherme
 

Similar to Introdução ao OpenLayers (20)

Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
 
Html5
Html5Html5
Html5
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webapps
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScript
 
Apresentação Phonegap
Apresentação PhonegapApresentação Phonegap
Apresentação Phonegap
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQuery
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direito
 
Introdução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasIntrodução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvas
 
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
 
Tornando as coisas mais simples com Azure Functions e Node.JS
Tornando as coisas mais simples com Azure Functions e Node.JSTornando as coisas mais simples com Azure Functions e Node.JS
Tornando as coisas mais simples com Azure Functions e Node.JS
 
Artigoajax
ArtigoajaxArtigoajax
Artigoajax
 
HTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJSHTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJS
 
Led Lua Workshop
Led Lua WorkshopLed Lua Workshop
Led Lua Workshop
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 

Introdução ao OpenLayers

  • 2.
  • 3. O que é o OpenLayers?
  • 4.
  • 5.
  • 6. Arquitetura http Webserver (Proxy) http (REST) OpenLayers Client Arquivos SQL SGBD-Geo http http Internet
  • 8.
  • 9.
  • 10. Demonstração Rápida OpenLayers Example OMNI VERDI PEGEL ONLINE http://olarchitect.com/ http://www.ominiverdi.org/openlayers/ http://www.pegelonline.wsv.de/ http://www.openlayers.org/dev/examples/
  • 11. Mão na massa: Layers - WMS 1 2 3 4 5
  • 12. Mão na massa: Layers - WMS // Registra o evento de click map.events.register('click', map, function (e) { // Inicializa o display de texto $('nodeList').innerHTML = &quot;Loading... &quot;; //Define os parametros para o getfeatureInfo var url = wmslayer.getFullRequestString({ REQUEST: &quot;GetFeatureInfo&quot;, EXCEPTIONS: &quot;application/vnd.ogc.se_xml&quot;, BBOX: wms.map.getExtent().toBBOX(), X: e.xy.x, Y: e.xy.y, INFO_FORMAT: 'text/html', QUERY_LAYERS: wms.params.LAYERS, REDIUS:2, WIDTH: wmslayer.map.size.w, HEIGHT: wmslayer.map.size.h}); //Realiza o GetFeatureInfo OpenLayers.loadURL(url, '', this, setHTML); Event.stop(e); } ); //Plota o resultado function setHTML(response) { $('nodeList').innerHTML = response.responseText; }
  • 13.
  • 14.
  • 15. Mão na massa: Layers - GMaps
  • 16. Mão na massa: Layers - GMaps var googleLayer = new OpenLayers.Layer.Google( &quot;Google Satellite&quot; ,  {type: G_SATELLITE_MAP, 'maxZoomLevel':18} );  
  • 17. Mão na massa: Layers - GMaps var satellite = new OpenLayers.Layer.Google( &quot;Google Maps&quot; ,  {type: G_NORMAL_MAP, 'maxZoomLevel':18} );  
  • 18. Mão na massa: Layers – V. Earth
  • 19.
  • 20. Mão na massa: Controle
  • 21. Mão na massa: Controle 2 3 4 6 5
  • 22. Mão na massa: Propriedades
  • 23.
  • 24. Mão na massa: Integração
  • 25. Documentação Fonte: http://dev.openlayers.org/apidocs/files/OpenLayers-js.html [2009-01-22]
  • 26.
  • 27.
  • 28.
  • 29. Obrigado! Fernando Quadro [email_address]