[Portugal] duvidas sobre openlayers

Marco Afonso mafonso333 gmail.com
Sexta-Feira, 2 de Dezembro de 2011 - 04:58:57 EST


A mensagem do Firebug "OpenLayers is not defined" significa que não foi
encontrada uma "classe" OpenLayers quando se tentou criar a variavel
bounds. Verifique no Firebug, no tabulador Rede, se o ficheiro
OpenLayers.js está a ser carregado.

No dia 2 de Dezembro de 2011 00:37, Pedro Costa
<pedrocostaarma  sapo.pt>escreveu:

>  Pessoal podem ajudar-me também nas seguintes dúvidas:
>
>
> Eu tenho o html que segue em baixo, quando o abro, o firebug indica um
> erro assim:
>
> OpenLayers is not defined
>   var bounds = new OpenLayers.Bounds(
>
>
>
> Penso que seja porque os bounds estão mal definidos. A minha dúvida é o
> seguinte, como posso saber os bounds correctos? E em que src tenho de os
> escrever?Igual ao src do layer que quero ir buscar?Será que funciona se eu
> executar no firebug map.zoomToMaxExtent e map.getExtent no layer preview do
> geoserver?
>
> Tentei isso e dá-me os valores: topp right left e bottom, mas porque ordem
> os escrevo?
>
>
> Podem tirar-me estas dúvidas?
>
> Obrigado
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "DTD/xhtml1-strict.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml" <http://www.w3.org/1999/xhtml>>
>     <head>
>         <title>O meu primeiro mapa</title>
>
>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
> />
>         <script src="/openlayers/lib/OpenLayers.js"
> type="text/javascript"></script>
>         <script type="text/javascript">
>             var map;
>
>             function init() {
>
>                 var bounds = new OpenLayers.Bounds(
>                 -23941, 208039,
>                 -21480, 210148
>                 );
>
>                 var options = {
>                     controls: [ new OpenLayers.Control.Navigation(),
>                                         new OpenLayers.Control.PanZoom(),
>                                         new
> OpenLayers.Control.LayerSwitcher()],
>                     maxExtent: bounds,
>                     maxResolution: 9.61328125,
>                     projection: "EPSG:27492",
>
>                     units: 'm'
>
> };
>
>                 map = new OpenLayers.Map('map', options);
>                 var wms = new OpenLayers.Layer.WMS(
>                 'OpenLayers WMS',
>                 'http://localhost:8080/geoserver/wms', {
>                     layers: 'topp:ruas'
>                 }, {} );
>                 map.addLayer(wms);
>                 if(!map.getCenter()) {
>
>                     map.zoomToMaxExtent();
>                 }
>             }
>         </script>
>     </head>
>     <body onload='init();'>
>         <h1>Mapa mundo</h1>
>         <div id='map' style='width: 500px; height: 500px;'>
>         </div>
>     </body>
> </html>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> On 01-12-2011 13:22, Jorge de Jesus wrote:
>
> Algumas respostas peco desculpas pelo email meio algarviado
>
>
> On 01/12/11 12:41, Pedro Costa wrote:
>
> Pessoal será que podiam ajudar-me com as seguintes dúvidas do openlayeres,
> as dúvidas são relativas ao exemplo disponivel aqui:
>
> http://geobox.geospot.pt/pt/index.php/Edi%C3%A7%C3%A3o_com_OpenLayers
>
>
> *1)  O que sgnificam estas diferentes partes do código:*
>
> <link rel="stylesheet" href="/openlayers/theme/default/style.css" type="text/css" />
>
>  Isto e' un link pro CSS (cascade style sheet) que define como  varios
> elementos vao ser rendizados (rendered), ou seja cores, tipos de letras
> icons, e onde os menus (exemplo: LayerSwitcher) vao aparecer etc. Da uma
> vista de olhos ao ficheiro e experimenta a fazer alteracoes :) .Se nao
> sabes trabalhar com CSS da uma vista de olhos a:
> http://www.w3schools.com/css/
>
> OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
>
>
>  Aiiiiiii a santa bendita proxy !!! Da uma vista de olhos aqui:
> http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost
>
> Basicamente em Javascript tu nao podes chamar um URL que nao esteja no
> mesmo dominio, por exemplo se o teu site esta em http://localhost mas o
> WFS esta em http://WFSsite.pt o codigo de javascipript nao pode aceder a
> http://WFSsite.pt, esta situacao eh conhecida por "cross domain" da uma
> vista de olhos na internet
>
> Actualmente os browsers mais recentes podem contactar outros dominios se o
> servidor no outro dominio suportar a norma CORS:
> http://www.leggetter.co.uk/2010/03/12/making-cross-domain-javascript-requests-using-xmlhttprequest-or-xdomainrequest.html
>
> Basicamente, a melhor estrategia eh de instalar a proxy no teu servidor e
> deixar que o openlayers trate do assunto.
>
> Normalmente, o firebug manda-te um erro quando tens cross-domain
> (normalmente o browser nao diz nada e nao faz nada quando tens cross-domain)
>
> *2) Porquê é que aqui a classe map é nula?*
>
>
> var map=null; Bem uns gostam cozido outros gosta de assado :0  eh so um
> estilo de programacao, se usares var map; vai dar ao mesmo. Uma chamada de
> atencao, o var map=null; esta fora da funcao init(), quer dizer que eh uma
> variable global, que pode ser acedida por qualquer funcao. Normalmente um
> erro comum e' meter "var map" dentro do init()
>
> Pessoalmente meto o map e as layers sempre fora da funcao de
> inicializacao, ja que variaveis globais parecem logo no firebug.
>
>
>  var map = null;
> *3) NO exemplo em questão que segue em baixo, temos de por o schema para o layer do geoserver em questão, trata-se de
>  um url? Como posso descobrir url para o layer que pretendo? Tentei trocar o nome deste exemplo (participante)
>  por um layer que tenho e colar no browser mas não abre nada...
> POdem dar-me uma dicas?
> *
>
>
> Eu raramente trabalho com WFS e estive a ver no codigo do openlayers
> (Protocol/WFS/v1.js) temos a seguinte definicao da propriedade schema:
>
> /**
>      * Property: schema
>      * {String} Optional schema location that will be included in the
>      *     schemaLocation attribute value.  Note that the feature type
> schema
>      *     is required for a strict XML validator (on transactions with an
>      *     insert for example), but is *not* required by the WFS
> specification
>      *     (since the server is supposed to know about feature type
> schemas).
>      */
>     schema: null,
>
>
> Basicamente e' um URL que define o schema dos dados em XML e que pode ser
> usado para validar os conteudos, no exemplo passas um DescribeFeatureType
> que gera un esquema que define a estrutura do XML dos teus dados.  Em
> varios exemplos nunca vi o uso do schema:
>
> http://workshops.opengeo.org/stack-intro/openlayers.html
>
> Eu uso mais mapserver, ja que nao me dou muito bem com o JAVA (serei
> demasiado calhau?)
>
>  *
> 4)Quando devo utilizar a livraria do openlayers no localhost e quando devo utilizar a online?Tanto faz ou quais as vantagens
> de um e de outro?
>
>
> Obrigado
> Bom feriado a todos*
>
>  uma livraria no localhost e' mais rapida para fazer o upload e nao estas
> dependente de "terceiros"
>
> E para concluir: O firebug e' o melhor amigo do Homem (depois do cao e'
> claro)
>
>
> Bom feriado, eu vou marfar
>
> Jorge
>
> --
> PGP public key: 0x595FF9D3
>
>
> ------------------------------
>
> Plymouth Marine Laboratory
> Registered Office:
> Prospect Place
> The Hoe
> Plymouth PL1 3DH
>
> Website: www.pml.ac.uk
> Click here for PML Annual Review <http://www.pml.ac.uk/pdf/PMLAR2010.pdf>
> Registered Charity No. 1091222
> PML is a company limited by guarantee
> registered in England & Wales
> company number 4178503
>
> Please think before you print.
> ------------------------------
>
> This e-mail, its content and any file attachments are confidential.
>
> If you have received this e-mail in error please do not copy, disclose it
> to any third party or use the contents or attachments in any way. Please
> notify the sender by replying to this e-mail or e-mail forinfo  pml.ac.ukand then delete the email without making any copies or using it in any
> other way.
>
> The content of this message may contain personal views which are not the
> views of Plymouth Marine Laboratory unless specifically stated.
>
> You are reminded that e-mail communications are not secure and may contain
> viruses. Plymouth Marine Laboratory accepts no liability for any loss or
> damage which may be caused by viruses.
> ------------------------------
>
>
>
>
> _______________________________________________
> Portugal mailing list
> Portugal  lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>
>
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20111202/efcdb747/attachment.html


Mais informações acerca da lista Portugal