<div>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.</div>
<div><br><div class="gmail_quote">No dia 2 de Dezembro de 2011 00:37, Pedro Costa <span dir="ltr"><<a href="mailto:pedrocostaarma@sapo.pt">pedrocostaarma@sapo.pt</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div bgcolor="#FFFFFF" text="#000000">
Pessoal podem ajudar-me também nas seguintes dúvidas:<br>
<br>
<br>
Eu tenho o html que segue em baixo, quando o abro, o firebug indica
um erro assim:<br>
<br>
<div><span>OpenLayers is not defined</span></div>
<span></span>
<div><a title="var bounds = new OpenLayers.Bounds("><div class="im"> var bounds = new
OpenLayers.Bounds(<br>
<br>
<br>
<br></div>
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?<br>
<br>
Tentei isso e dá-me os valores: topp right left e bottom, mas
porque ordem os escrevo?<br>
<br>
<br>
Podem tirar-me estas dúvidas?<br>
<br>
Obrigado<br>
</a></div>
<br>
<br>
<br>
<?xml version="1.0" encoding="UTF-8"?><br>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd"><div class="im"><br>
<html xmlns=<a href="http://www.w3.org/1999/xhtml" target="_blank">"http://www.w3.org/1999/xhtml"</a>><br>
<head><br></div>
<title>O meu primeiro mapa</title><div class="im"><br>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" /><br></div>
<script src="/openlayers/lib/OpenLayers.js"
type="text/javascript"></script><br>
<script type="text/javascript"><br>
var map;<div class="im"><br>
function init() {<br>
<br>
var bounds = new OpenLayers.Bounds(<br>
-23941, 208039,<br>
-21480, 210148<br>
);<br>
<br>
var options = {<br>
controls: [ new OpenLayers.Control.Navigation(),<br>
new
OpenLayers.Control.PanZoom(),<br>
new
OpenLayers.Control.LayerSwitcher()],<br>
maxExtent: bounds,<br>
maxResolution: <a href="tel:9.61328125" value="+351961328125" target="_blank">9.61328125</a>,<br></div>
projection: "EPSG:27492",<div class="im"><br>
units: 'm'<br>
<br>
};<br>
<br>
map = new OpenLayers.Map('map', options);<br>
var wms = new OpenLayers.Layer.WMS(<br></div>
'OpenLayers WMS',<br>
'<a href="http://localhost:8080/geoserver/wms" target="_blank">http://localhost:8080/geoserver/wms</a>', {<br>
layers: 'topp:ruas'<br>
}, {} );<br>
map.addLayer(wms);<br>
if(!map.getCenter()) {<div class="im"><br>
map.zoomToMaxExtent();<br>
}<br>
}<br>
</script><br>
</head><br>
<body onload='init();'><br></div>
<h1>Mapa mundo</h1><br>
<div id='map' style='width: 500px; height: 500px;'><br>
</div><br>
</body><br>
</html><div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 01-12-2011 13:22, Jorge de Jesus wrote:
<blockquote type="cite">
Algumas respostas peco desculpas pelo email meio algarviado<br>
<br>
<br>
On 01/12/11 12:41, Pedro Costa wrote:
<blockquote type="cite">
Pessoal será que podiam ajudar-me com as seguintes dúvidas do
openlayeres, as dúvidas são relativas ao exemplo disponivel
aqui:<br>
<br>
<a href="http://geobox.geospot.pt/pt/index.php/Edi%C3%A7%C3%A3o_com_OpenLayers" target="_blank">http://geobox.geospot.pt/pt/index.php/Edi%C3%A7%C3%A3o_com_OpenLayers</a><br>
<br>
<br>
<b>1) O que sgnificam estas diferentes partes do código:</b><br>
<pre><span><<span>link</span> <span>rel</span><span>=</span><span>"stylesheet"</span> <span>href</span><span>=</span><span>"/openlayers/theme/default/style.css"</span> <span>type</span><span>=</span><span>"text/css"</span> <span>/</span>></span></pre>
<pre><span>
</span></pre>
</blockquote>
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: <a href="http://www.w3schools.com/css/" target="_blank">http://www.w3schools.com/css/</a><br>
<blockquote type="cite">
<pre><span></span><span><pre>OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
</pre></span></pre>
</blockquote>
Aiiiiiii a santa bendita proxy !!! Da uma vista de olhos aqui: <a href="http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost" target="_blank">http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost</a>
<br>
<br>
Basicamente em Javascript tu nao podes chamar um URL que nao
esteja no mesmo dominio, por exemplo se o teu site esta em <a href="http://localhost" target="_blank">http://localhost</a> mas o WFS esta em <a href="http://WFSsite.pt" target="_blank">http://WFSsite.pt</a> o codigo de
javascipript nao pode aceder a <a href="http://WFSsite.pt" target="_blank">http://WFSsite.pt</a>,
esta situacao eh conhecida por "cross domain" da uma vista de
olhos na internet<br>
<br>
Actualmente os browsers mais recentes podem contactar outros
dominios se o servidor no outro dominio suportar a norma CORS:
<a href="http://www.leggetter.co.uk/2010/03/12/making-cross-domain-javascript-requests-using-xmlhttprequest-or-xdomainrequest.html" target="_blank">http://www.leggetter.co.uk/2010/03/12/making-cross-domain-javascript-requests-using-xmlhttprequest-or-xdomainrequest.html</a><br>
<br>
Basicamente, a melhor estrategia eh de instalar a proxy no teu
servidor e deixar que o openlayers trate do assunto.<br>
<br>
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)<br>
<blockquote type="cite">
<pre><span><pre><b>2) Porquê é que aqui a classe map é nula?</b>
</pre></span></pre>
</blockquote>
<br>
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()<br>
<br>
Pessoalmente meto o map e as layers sempre fora da funcao de
inicializacao, ja que variaveis globais parecem logo no firebug.<br>
<br>
<br>
<blockquote type="cite">
<pre><span><pre><span><pre><pre>var map = null;
<b>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?
</b></pre></pre></span></pre></span></pre>
</blockquote>
<br>
Eu raramente trabalho com WFS e estive a ver no codigo do
openlayers (Protocol/WFS/v1.js) temos a seguinte definicao da
propriedade schema:<br>
<br>
/**<br>
* Property: schema<br>
* {String} Optional schema location that will be included in
the<br>
* schemaLocation attribute value. Note that the feature
type schema<br>
* is required for a strict XML validator (on transactions
with an<br>
* insert for example), but is *not* required by the WFS
specification<br>
* (since the server is supposed to know about feature
type schemas).<br>
*/<br>
schema: null,<br>
<br>
<br>
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:<br>
<br>
<a href="http://workshops.opengeo.org/stack-intro/openlayers.html" target="_blank">http://workshops.opengeo.org/stack-intro/openlayers.html</a><br>
<br>
Eu uso mais mapserver, ja que nao me dou muito bem com o JAVA
(serei demasiado calhau?) <br>
<br>
<blockquote type="cite">
<pre><span><pre><span><pre><pre><b>
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
</b>
</pre></pre></span></pre></span></pre>
</blockquote>
uma livraria no localhost e' mais rapida para fazer o upload e nao
estas dependente de "terceiros" <br>
<br>
E para concluir: O firebug e' o melhor amigo do Homem (depois do
cao e' claro)<br>
<br>
<br>
Bom feriado, eu vou marfar <br>
<br>
Jorge<br>
<br>
<pre cols="72">--
PGP public key: 0x595FF9D3</pre>
<br>
<hr>
<p><font face="Arial" size="1">
Plymouth Marine Laboratory<br>
Registered Office: <br>
Prospect Place<br>
The Hoe<br>
Plymouth PL1 3DH
</font></p>
<p><font face="Arial" size="1">Website: <a href="http://www.pml.ac.uk" target="_blank">www.pml.ac.uk</a>
<br>
<a href="http://www.pml.ac.uk/pdf/PMLAR2010.pdf" target="_blank">Click here for
PML Annual Review</a>
<br>
Registered Charity No. 1091222<br>
PML is a company limited by guarantee<br>
registered in England & Wales<br>
company number 4178503</font></p>
<p><font color="green" face="Arial" size="1">Please think before
you print.</font></p>
<hr>
<p><font face="Arial" size="1">This e-mail, its content and any
file attachments are confidential.</font></p>
<p><font face="Arial" size="1">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 <a href="mailto:forinfo@pml.ac.uk" target="_blank">forinfo@pml.ac.uk</a>
and then delete the email without making any copies or using
it in any other way.</font></p>
<p><font face="Arial" size="1">The content of this message may
contain personal views which are not the views of Plymouth
Marine Laboratory unless specifically stated.</font></p>
<p><font face="Arial" size="1">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.</font></p>
<hr>
<br>
<br>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Portugal mailing list<br>
<a href="mailto:Portugal@lists.osgeo.org">Portugal@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/portugal" target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
<br></blockquote></div><br></div>