{"id":1177,"date":"2008-12-22T16:08:12","date_gmt":"2008-12-22T19:08:12","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/?p=1177"},"modified":"2008-12-23T10:02:50","modified_gmt":"2008-12-23T13:02:50","slug":"introducao-ao-openlayers-parte-1","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2008\/12\/22\/introducao-ao-openlayers-parte-1\/","title":{"rendered":"Introdu\u00e7\u00e3o ao OpenLayers: B\u00e1sico"},"content":{"rendered":"<p>Estou come\u00e7ando hoje uma s\u00e9rie de posts sobre o OpenLayers, com o intuito de criar uma documenta\u00e7\u00e3o b\u00e1sica sobre ele em portugu\u00eas tendo em vista que praticamente ela n\u00e3o existe. <\/p>\n<p>Todo o material que vou publicar nessa s\u00e9rie, \u00e9 com base no <a href=\"http:\/\/workshops.opengeo.org\/openlayers\/intro\/doc\/en\/basics.html\" target=\"_blank\">Workshop<\/a> ministrado pela equipe da OpenGeo (norte-americana) no FOSS4G 2008 na \u00c1frica do Sul. Ent\u00e3o vamos come\u00e7ar:<\/p>\n<p><strong>1.<\/strong> O que \u00e9 o OpenLayers?<br \/>\n\u00c9 uma API Javascript que fornece funcionalidades para criar mapas na web oferecendo as fun\u00e7\u00f5es b\u00e1sicas para disponibilizar seus dados espaciais.<\/p>\n<p><strong>2.<\/strong> M\u00f3dulo I: B\u00e1sico<\/p>\n<p>Iremos come\u00e7ar com um exemplo b\u00e1sico. Para isso voc\u00ea deve criar uma pasta no seu diret\u00f3rio de documentos do Apache com o nome de <em><strong>ol_workshop<\/strong><\/em>, feito isso crie um arquivo chamado <em><strong>1-basico.html<\/strong><\/em> e copie o c\u00f3digo abaixo: <\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_01_1.png\" alt=\"openlayers_intro_01_1\" title=\"openlayers_intro_01_1\" width=\"492\" height=\"364\" class=\"alignnone size-full wp-image-1422\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_01_1.png 492w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_01_1-300x222.png 300w\" sizes=\"auto, (max-width: 492px) 100vw, 492px\" \/><br \/>\n<\/center><\/p>\n<p>Ap\u00f3s salvar o arquivo, abra-o no browser e voc\u00ea dever\u00e1 ver o mapa dos Estados Unidos:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/basics_1.png\" alt=\"\" title=\"\" width=\"450\" height=\"225\" class=\"alignnone size-full wp-image-1420\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/basics_1.png 582w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/basics_1-299x149.png 299w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><br \/>\n<\/center><\/p>\n<p>O script acima \u00e9 executado obedecendo seis passos que ser\u00e3o detalhados abaixo:<\/p>\n<p><strong>3.<\/strong> Passo 1: Carregando a biblioteca OpenLayers<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_02.png\" alt=\"\" title=\"\" width=\"517\" height=\"28\" class=\"alignnone size-full wp-image-1430\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_02.png 517w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_02-300x16.png 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/p>\n<p>A URL &#8220;<em>http:\/\/openlayers.org\/api\/OpenLayers.js<\/em>&#8221; aponta para o local do arquivo JavaScript que ser\u00e1 carregado. Como o OpenLayers \u00e9 OpenSource, voc\u00ea tem a possibiliade de utilizar plugins como o Firebug, e depurar o c\u00f3digo Javascript diretamente no seu navegador.<\/p>\n<p><strong>4.<\/strong> Passo 2: O Mapa do DOM<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_03.png\" alt=\"\" title=\"\" width=\"463\" height=\"28\" class=\"alignnone size-full wp-image-1431\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_03.png 463w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_03-300x18.png 300w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/p>\n<p>O DIV \u00e9 um elemento que estamos utilizando para a marca\u00e7\u00e3o do nosso mapa. Mais tarde, usaremos o id do div para a cria\u00e7\u00e3o do mapa.<\/p>\n<p><strong>5.<\/strong> Passo 3: O Objeto Map<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_04.png\" alt=\"\" title=\"\" width=\"276\" height=\"28\" class=\"alignnone size-full wp-image-1435\" \/><\/p>\n<p>Mapas no OpenLayers s\u00e3o representados pela classe Map. Cada objeto map representa um mapa na p\u00e1gina. No exemplo acima foi criado um novo mapa utilizando o construtor da classe Map, o <em>OpenLayers.Map <\/em>com a palavra chave <em>new<\/em>. <\/p>\n<p>Neste c\u00f3digo, n\u00f3s passamos no construtor um argumento para identicadar o elemento que estamos usando, que definimos no DIV. O construtor pode opcionalmente receber como segundo par\u00e2metro um objeto contento mais par\u00e2metros para facilitar na configura\u00e7\u00e3o do seu mapa.<\/p>\n<p>Para maiores informa\u00e7\u00f5es, a documenta\u00e7\u00e3o da classe Map pode ser encontrada na p\u00e1gina da <a href=\"http:\/\/dev.openlayers.org\/apidocs\/files\/OpenLayers\/Map-js.html#OpenLayers.Map.OpenLayers.Map\" target=\"_blank\">Documenta\u00e7\u00e3o do OpenLayers<\/a>, em ingl\u00eas.<\/p>\n<p><strong>6.<\/strong> Passo 4: Criando uma camada<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_05.png\" alt=\"\" title=\"\" width=\"365\" height=\"124\" class=\"alignnone size-full wp-image-1438\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_05.png 365w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_05-300x101.png 300w\" sizes=\"auto, (max-width: 365px) 100vw, 365px\" \/><\/p>\n<p>O OpenLayers organiza o seu mapa em diversas camadas (layers). Neste c\u00f3digo \u00e9 constru\u00edda uma camada e adicionada ao mapa. <\/p>\n<p><strong>7.<\/strong> Passo 5: Posi\u00e7\u00e3o do Mapa<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_06.png\" alt=\"\" title=\"\" width=\"238\" height=\"28\" class=\"alignnone size-full wp-image-1440\" \/><\/p>\n<p>Este c\u00f3digo informa ao mapa ajustar o zoom para a sua extens\u00e3o m\u00e1xima , que por padr\u00e3o \u00e9 de todo o mundo. \u00c9 poss\u00edvel definir uma extens\u00e3o passando um par\u00e2metro ao construtor do Mapa.<\/p>\n<p>Para saber mais detalhes sobre os m\u00e9todos de zoom, <a href=\"http:\/\/dev.openlayers.org\/apidocs\/files\/OpenLayers\/Map-js.html\" target=\"_blank\">leia a documenta\u00e7\u00e3o<\/a>.<\/p>\n<p><strong>8.<\/strong> Passo 6: Carregando o Mapa<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2008\/12\/openlayers_intro_07.png\" alt=\"\" title=\"\" width=\"204\" height=\"28\" class=\"alignnone size-full wp-image-1441\" \/><\/p>\n<p>O c\u00f3digo acima, ser\u00e1 executado quando a p\u00e1gina for criada, e ent\u00e3o criar\u00e1 o mapa.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estou come\u00e7ando hoje uma s\u00e9rie de posts sobre o OpenLayers, com o intuito de criar uma documenta\u00e7\u00e3o b\u00e1sica sobre ele em portugu\u00eas tendo em vista que praticamente ela n\u00e3o existe. Todo o material que vou publicar nessa s\u00e9rie, \u00e9 com&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2008\/12\/22\/introducao-ao-openlayers-parte-1\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[132,30],"tags":[144],"class_list":["post-1177","post","type-post","status-publish","format-standard","hentry","category-openlayers","category-tutorial","tag-introducao-openlayers"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/1177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=1177"}],"version-history":[{"count":21,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/1177\/revisions"}],"predecessor-version":[{"id":1462,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/1177\/revisions\/1462"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=1177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=1177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=1177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}