<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body 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 role="listitem" class="errorTitle focusRow subLogRow "><span
class="errorMessage ">OpenLayers is not defined</span></div>
<span class=" "></span>
<div role="listitem" class="errorSourceBox errorSource-show focusRow
subLogRow "><a title="var bounds = new OpenLayers.Bounds("
class="errorSource a11yFocus "> var bounds = new
OpenLayers.Bounds(<br>
<br>
<br>
<br>
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"><br>
<html xmlns=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/1999/xhtml">"http://www.w3.org/1999/xhtml"</a>><br>
<head><br>
<title>O meu primeiro mapa</title><br>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" /><br>
<script src="/openlayers/lib/OpenLayers.js"
type="text/javascript"></script><br>
<script type="text/javascript"><br>
var map;<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: 9.61328125,<br>
projection: "EPSG:27492",<br>
units: 'm'<br>
<br>
};<br>
<br>
map = new OpenLayers.Map('map', options);<br>
var wms = new OpenLayers.Layer.WMS(<br>
'OpenLayers WMS',<br>
'<a class="moz-txt-link-freetext" href="http://localhost:8080/geoserver/wms">http://localhost:8080/geoserver/wms</a>', {<br>
layers: 'topp:ruas'<br>
}, {} );<br>
map.addLayer(wms);<br>
if(!map.getCenter()) {<br>
map.zoomToMaxExtent();<br>
}<br>
}<br>
</script><br>
</head><br>
<body onload='init();'><br>
<h1>Mapa mundo</h1><br>
<div id='map' style='width: 500px; height: 500px;'><br>
</div><br>
</body><br>
</html><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 cite="mid:4ED77F7F.8030107@pml.ac.uk" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
Algumas respostas peco desculpas pelo email meio algarviado<br>
<br>
<br>
On 01/12/11 12:41, Pedro Costa wrote:
<blockquote cite="mid:4ED77615.6010209@sapo.pt" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
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 moz-do-not-send="true"
href="http://geobox.geospot.pt/pt/index.php/Edi%C3%A7%C3%A3o_com_OpenLayers">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 class="de1"><span class="sc2"><<span class="kw2">link</span> <span class="kw3">rel</span><span class="sy0">=</span><span class="st0">"stylesheet"</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">"/openlayers/theme/default/style.css"</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">"text/css"</span> <span class="sy0">/</span>></span></pre>
<pre class="de1"><span class="sc2">
</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 moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://www.w3schools.com/css/">http://www.w3schools.com/css/</a><br>
<blockquote cite="mid:4ED77615.6010209@sapo.pt" type="cite">
<pre class="de1"><span class="sc2"></span><span class="sc2"><pre class="de1">OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
</pre></span></pre>
</blockquote>
Aiiiiiii a santa bendita proxy !!! Da uma vista de olhos aqui: <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost">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
moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://localhost">http://localhost</a> mas o WFS esta em <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://WFSsite.pt">http://WFSsite.pt</a> o codigo de
javascipript nao pode aceder a <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="http://WFSsite.pt">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 moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://www.leggetter.co.uk/2010/03/12/making-cross-domain-javascript-requests-using-xmlhttprequest-or-xdomainrequest.html">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 cite="mid:4ED77615.6010209@sapo.pt" type="cite">
<pre class="de1"><span class="sc2"><pre class="de1"><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 cite="mid:4ED77615.6010209@sapo.pt" type="cite">
<pre class="de1"><span class="sc2"><pre class="de1"><span class="sc2"><pre class="de1"><pre class="de1">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 moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://workshops.opengeo.org/stack-intro/openlayers.html">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 cite="mid:4ED77615.6010209@sapo.pt" type="cite">
<pre class="de1"><span class="sc2"><pre class="de1"><span class="sc2"><pre class="de1"><pre class="de1"><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 class="moz-signature" 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 moz-do-not-send="true"
href="http://www.pml.ac.uk">www.pml.ac.uk</a>
<br>
<a moz-do-not-send="true"
href="http://www.pml.ac.uk/pdf/PMLAR2010.pdf">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 class="moz-txt-link-abbreviated" href="mailto:forinfo@pml.ac.uk">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>
</body>
</html>