Commit 9e2546a6cfd4a18cda23272e9a88d8c536d7e680

Authored by Edmar Moretti
1 parent d3fffd3e

inclusão da ferramenta de busca de fotografias em uma região do mapa

ferramentas/buscafotos/funcoes.php 0 → 100644
... ... @@ -0,0 +1,55 @@
  1 +<?php
  2 +error_reporting(0);
  3 +require_once("../../classesphp/pega_variaveis.php");
  4 +require_once("../../classesjs/cpaint/cpaint2.inc.php");
  5 +require_once("../../ms_configura.php");
  6 +require_once("../../pacotes/phpflickr/phpFlickr.php");
  7 +$cp = new cpaint();
  8 +if($funcao == "listafotosflickr")
  9 +{$cp->register('listafotosflickr');}
  10 +if($funcao == "listafotospanoramio")
  11 +{$cp->register('listafotospanoramio');}
  12 +if($funcao == "listafotoslocr")
  13 +{$cp->register('listafotoslocr');}
  14 +$cp->start();
  15 +$cp->return_data();
  16 +function listafotosflickr()
  17 +{
  18 + global $ret, $cp, $key, $texto,$ai,$af,$page;
  19 + $ret = explode(" ",$ret);
  20 + $ret = implode(",",$ret);
  21 + $resultado = "";
  22 + if ($ai != "")
  23 + $ai = strtotime("1 Jan ".$ai);// echo strtotime("10 September 2000")
  24 + if($af != "")
  25 + $af = strtotime("30 Dec ".$af);
  26 + $f = new phpFlickr($key);
  27 + $recent = @$f->photos_search(array("page"=>$page,"extras"=>"geo","accuracy"=>"11","min_upload_date"=>$ai,"max_upload_date"=>$af,"text"=>$texto,"bbox"=>$ret,"privacy_filter"=>"1"));
  28 + if(!$recent){$recent = "";}
  29 + $cp->set_data($recent);
  30 +}
  31 +function listafotospanoramio()
  32 +{
  33 + global $ret, $cp,$ai,$af;
  34 + $ret = explode(" ",$ret);
  35 + $resultado = "";
  36 + $recent = file_get_contents("http://www.panoramio.com/map/get_panoramas.php?order=upload_date&set=public&from=".$ai."&to=".$af."&minx=".$ret[0]."&miny=".$ret[1]."&maxx=".$ret[2]."&maxy=".$ret[3]."&size=thumbnail");
  37 + $recent = str_replace("\n","",$recent);
  38 + $recent = str_replace("'","",$recent);
  39 + $recent = str_replace('"',"'",$recent);
  40 + $cp->set_data($recent);
  41 +}
  42 +function listafotoslocr()
  43 +{
  44 + global $ret,$cp,$ai,$af;
  45 + $ret = explode(" ",$ret);
  46 + $resultado = "";
  47 + $u = "http://www.locr.com/api/get_photos_json.php?latitudemin=".$ret[1]."&longitudemin=".$ret[0]."&latitudemax=".$ret[3]."" ."&longitudemax=".$ret[2]."&size=thumbnail&category=popularity&locr=true&start=".$ai."&count=".($af-$ai);
  48 + $recent = file_get_contents($u);
  49 + $recent = str_replace("\n","",$recent);
  50 + $recent = str_replace("\t","",$recent);
  51 + $recent = str_replace("'","",$recent);
  52 + $recent = str_replace('"',"'",$recent);
  53 + $cp->set_data($recent);
  54 +}
  55 +?>
0 56 \ No newline at end of file
... ...
ferramentas/buscafotos/index.htm 0 → 100644
... ... @@ -0,0 +1,35 @@
  1 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2 +<html xmlns="http://www.w3.org/1999/xhtml">
  3 + <head>
  4 + <link rel="stylesheet" type="text/css" href="../../css/i3geo_ferramentas.css">
  5 + <style>.yuibutton button{padding-left:2em;background:url(../../imagens/tic.png) 5% 50% no-repeat;}</style>
  6 + </head>
  7 + <body class="yui-skin-sam" >
  8 + <div id="f" style="display:none">
  9 + <p><i>Este produto usa a API do Flickr, mas n&atilde;o &eacute; endossado nem certificado pelo Flickr.</i>
  10 + <p>Opção Flickr: Se nenhum par&acirc;metro for definido, ser&atilde;o consideradas apenas as fotos inclu&iacute;das nas &uacute;ltimas 12 horas.
  11 + De qualquer forma, s&atilde;o mostrados no m&aacute;ximo 250 registros.
  12 + O ano diz respeito a inclus&atilde;o da foto no Flickr
  13 + <p>Texto: <input style='cursor:text' class=digitar type=text size=30 value="" id='texto' />
  14 + <p>Ano inicial: <input style='cursor:text' class=digitar type=text size=10 value="2008" id='ai' />
  15 + &nbsp;Ano final: <input style='cursor:text' class=digitar type=text size=10 value="2008" id='af' />
  16 + </div>
  17 + <div style=width:350px >
  18 + <span style=width:30px onclick='busca("1")' ><input id=botao2 size=20 type=button value='Procurar fotos' /></span>
  19 + <input type=radio onclick="esconde(this)" name=buscador value=flickr id=buscaflickr /><a href="http://www.flickr.com" target="_blank" >Flickr</a>
  20 + <input type=radio onclick="esconde(this)" name=buscador value=panoramio id=buscapanoramio checked /><a href="http://www.panoramio.com" target="_blank" >Panoramio</a>
  21 + <input type=radio onclick="esconde(this)" name=buscador value=panoramio id=buscalocr /><a href="http://www.locr.com" target="_blank" >Locr</a>
  22 +
  23 + </div>
  24 + <div id="paginas" style="top:10px;"></div><br>
  25 + <div style="top:0px;left:5px;display:block;width:100%;height:150px;overflow:auto" id="resultadofotos" >Aguarde...</div>
  26 + </body>
  27 +<script>
  28 +g_locaplic = "http://localhost/i3geo"
  29 +//chave de acesso ao flicker
  30 +var key = "b170cde3c3064ca44b1ae0fbe747575d";
  31 +//var segredo = "cabca7ae514052f2";
  32 +</script>
  33 +<script src="../i3geo_tudo_compacto.js.php" type="text/javascript"></script>
  34 +<script language="JavaScript" type="text/javascript" src="index.js"></script>
  35 +</html>
0 36 \ No newline at end of file
... ...
ferramentas/buscafotos/index.js 0 → 100644
... ... @@ -0,0 +1,236 @@
  1 +/*
  2 +About: Licença
  3 +
  4 +I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  5 +
  6 +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
  7 +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  8 +
  9 +Este programa é software livre; você pode redistribuí-lo
  10 +e/ou modificá-lo sob os termos da Licença Pública Geral
  11 +GNU conforme publicada pela Free Software Foundation;
  12 +tanto a versão 2 da Licença.
  13 +Este programa é distribuído na expectativa de que seja útil,
  14 +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
  15 +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
  16 +Consulte a Licença Pública Geral do GNU para mais detalhes.
  17 +Você deve ter recebido uma cópia da Licença Pública Geral do
  18 +GNU junto com este programa; se não, escreva para a
  19 +Free Software Foundation, Inc., no endereço
  20 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  21 +*/
  22 +//inicializa
  23 +parametrosURL()
  24 +busca(1)
  25 +YAHOO.example.init = function ()
  26 +{
  27 + function onPushButtonsMarkupReady()
  28 + {new YAHOO.widget.Button("botao2");}
  29 + YAHOO.util.Event.onContentReady("botao2", onPushButtonsMarkupReady);
  30 +}()
  31 +function busca(pagina)
  32 +{
  33 + aguarde("block")
  34 + $i("resultadofotos").innerHTML = "Aguarde...";
  35 + $i("paginas").innerHTML = "";
  36 + var texto = $i("texto").value;
  37 + var ai = $i("ai").value;
  38 + var af = $i("af").value;
  39 + if (window.parent.objmapa)
  40 + {
  41 + if (window.parent.objmapa.scale > 150001)
  42 + {
  43 + var ins = "Aproxime mais o mapa <br>(pelo menos até a escala 1:150.000)!";
  44 + ins += "<br><br><div style=width:80px onclick='ajustarescala()' ><input id=botao1 size=20 type=button value='Ajustar escala' /></div>"
  45 + $i("resultadofotos").innerHTML = ins;
  46 + YAHOO.example.init = function ()
  47 + {
  48 + function onPushButtonsMarkupReady()
  49 + {new YAHOO.widget.Button("botao1");}
  50 + YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady);
  51 + }()
  52 + aguarde("none")
  53 + return;
  54 + }
  55 + }
  56 + escondexy();
  57 + var cp = new cpaint();
  58 + cp.set_response_type("JSON");
  59 + if($i("buscaflickr").checked)
  60 + {
  61 + $i("f").style.display="block"
  62 + var p = g_locaplic+"/ferramentas/buscafotos/funcoes.php?funcao=listafotosflickr&ret="+window.parent.objmapa.extent+"&key="+key+"&texto="+texto+"&ai="+ai+"&af="+af+"&page="+pagina;
  63 + cp.call(p,"listafotosflickr",listafotosflickr);
  64 + }
  65 + if($i("buscapanoramio").checked)
  66 + {
  67 + $i("f").style.display="none"
  68 + $i("paginas").innerHTML = pagina+50;
  69 + var ai = pagina
  70 + var af = pagina+50
  71 + var p = g_locaplic+"/ferramentas/buscafotos/funcoes.php?funcao=listafotospanoramio&ret="+window.parent.objmapa.extent+"&ai="+ai+"&af="+af;
  72 + cp.call(p,"listafotospanoramio",listafotospanoramio);
  73 + }
  74 + if($i("buscalocr").checked)
  75 + {
  76 + $i("f").style.display="none"
  77 + $i("paginas").innerHTML = pagina+50;
  78 + var ai = pagina
  79 + var af = pagina+50
  80 + var p = g_locaplic+"/ferramentas/buscafotos/funcoes.php?funcao=listafotoslocr&ret="+window.parent.objmapa.extent+"&ai="+ai+"&af="+af;
  81 + cp.call(p,"listafotoslocr",listafotoslocr);
  82 + }
  83 +
  84 +}
  85 +function listafotospanoramio(retorno)
  86 +{
  87 + aguarde("none")
  88 + $i("resultadofotos").style.height = "335px"
  89 + eval("var data = "+retorno.data)
  90 + if(!retorno.data)
  91 + {ins += "<br><span style=color:red>Problemas no acesso aos dados!</span><br><br>";return;}
  92 + var res = data.count
  93 + var ins = ""
  94 + ins += "<span><b>Fotos encontradas na regi&atilde;o vista no mapa:</span><br><br>"
  95 + if (res == 1)
  96 + {ins += "<br><span style=color:red>Nada encontrado nessa regi&atilde;o!</span><br><br>";}
  97 + else
  98 + {
  99 + ins += "<table width='90%'>"
  100 + for (i=0;i<res;i++)
  101 + {
  102 + if(data.photos[i])
  103 + {
  104 + ins += "<tr><td>"
  105 + ins += "<img src='"+data.photos[i].photo_file_url+"' "
  106 + ins += " onmouseout='escondexy()' onmouseover='mostraxy(\""+data.photos[i].latitude+","+data.photos[i].longitude+"\")'"
  107 + ins += "/></td>"
  108 + ins += "<td style='text-align:left' ><a href='"+data.photos[i].owner_url+"' target='_blank' >autor: "+data.photos[i].owner_name+" - "+data.photos[i].photo_title+"</a><br><br>"
  109 + ins += "</td></tr>"
  110 + }
  111 + }
  112 + ins += "</table>"
  113 + }
  114 + $i("resultadofotos").innerHTML = ins;
  115 + var p = parseInt($i("paginas").innerHTML)
  116 + if(res > 50)
  117 + {
  118 + var ins = "<span onclick='busca(\""+p+"\")' style='cursor:pointer;text-decoration:underline' >mais...&nbsp;</span>"
  119 + $i("paginas").innerHTML = ins;
  120 + }
  121 + else
  122 + $i("paginas").innerHTML = "";
  123 +}
  124 +function listafotosflickr(retorno)
  125 +{
  126 + aguarde("none")
  127 + $i("resultadofotos").style.height = "150px"
  128 + if((!retorno.data) || (retorno.data == ""))
  129 + {ins = "<br><span style=color:red>Problemas no acesso aos dados!</span><br><br>";$i("resultadofotos").innerHTML = ins;return;}
  130 + var data = retorno.data.photo
  131 + var res = data.length
  132 + var ins = ""
  133 + ins += "<span><b>Fotos encontradas na regi&atilde;o vista no mapa:</span><br><br>"
  134 + if (res == 0)
  135 + {ins += "<br><span style=color:red>Nada encontrado nessa regi&atilde;o!</span><br><br>";}
  136 + else
  137 + {
  138 + ins += "<table width='90%'>"
  139 + for (i=0;i<res;i++)
  140 + {
  141 + ins += "<tr><td>"
  142 + ins += "<img src='http://farm"+data[i].farm+".static.flickr.com/"+data[i].server+"/"+data[i].id+"_"+data[i].secret+"_s.jpg' "
  143 + ins += " onmouseout='escondexy()' onmouseover='mostraxy(\""+data[i].latitude+","+data[i].longitude+"\")'"
  144 + ins += "/></td>"
  145 + ins += "<td style='text-align:left' ><a href='http://www.flickr.com/photos/"+data[i].owner+"/"+data[i].id+"/' target='_blank' >"+data[i].title+"</a><br><br>"
  146 + ins += "</td></tr>"
  147 + }
  148 + ins += "</table>"
  149 + }
  150 + $i("resultadofotos").innerHTML = ins;
  151 + var p = retorno.data.pages
  152 + var ins = "";
  153 + for (i=0;i<p;i++)
  154 + {
  155 + ins += "<span onclick='busca(\""+i+"\")' style='cursor:pointer;text-decoration:underline' >"+i+"&nbsp;</span>"
  156 + }
  157 + $i("paginas").innerHTML = ins;
  158 +}
  159 +function listafotoslocr(retorno)
  160 +{
  161 + aguarde("none")
  162 + $i("resultadofotos").style.height = "340px"
  163 + eval("var data = "+retorno.data)
  164 + if(!retorno.data)
  165 + {ins += "<br><span style=color:red>Problemas no acesso aos dados!</span><br><br>";return;}
  166 + var res = data.photos.length
  167 + var ins = ""
  168 + ins += "<span><b>Fotos encontradas na regi&atilde;o vista no mapa:</span><br><br>"
  169 + if (res == 0)
  170 + {ins += "<br><span style=color:red>Nada encontrado nessa regi&atilde;o!</span><br><br>";}
  171 + else
  172 + {
  173 + ins += "<table width='90%'>"
  174 + for (i=0;i<res;i++)
  175 + {
  176 + if(data.photos[i])
  177 + {
  178 + ins += "<tr><td>"
  179 + ins += "<img src='"+data.photos[i].photo_file_url+"' "
  180 + ins += " onmouseout='escondexy()' onmouseover='mostraxy(\""+data.photos[i].latitude+","+data.photos[i].longitude+"\")'"
  181 + ins += "/></td>"
  182 + ins += "<td style='text-align:left' ><a href='"+data.photos[i].user_url+"' target='_blank' >autor: "+data.photos[i].user_name+" - "+data.photos[i].caption+"</a><br><br>"
  183 + ins += "</td></tr>"
  184 + }
  185 + }
  186 + ins += "</table>"
  187 + }
  188 + $i("resultadofotos").innerHTML = ins;
  189 + var p = parseInt($i("paginas").innerHTML)
  190 + if(res > 50)
  191 + {
  192 + var ins = "<span onclick='busca(\""+p+"\")' style='cursor:pointer;text-decoration:underline' >mais...&nbsp;</span>"
  193 + $i("paginas").innerHTML = ins;
  194 + }
  195 + else
  196 + $i("paginas").innerHTML = "";
  197 +}
  198 +
  199 +function mostraxy(xy)
  200 +{
  201 + var xy = xy.split(",")
  202 + var xy = window.parent.convddtela(xy[1]*1,xy[0]*1,window.parent.document)
  203 + var box = window.parent.$i("boxpin")
  204 + box.style.display = "block"
  205 + box.style.width = "21px"
  206 + box.style.height = "25px"
  207 + box.style.top = parseInt(xy[1])+"px"
  208 + box.style.left = parseInt(xy[0])+"px"
  209 +}
  210 +function escondexy()
  211 +{
  212 + if(window.parent.$i("boxpin"))
  213 + {
  214 + var box = window.parent.$i("boxpin")
  215 + box.style.display = "none"
  216 + box.style.top = "0px"
  217 + box.style.left = "0px"
  218 + }
  219 +}
  220 +
  221 +function ajustarescala()
  222 +{
  223 + var cp = new cpaint();
  224 + cp.set_response_type("JSON");
  225 + //cp.set_debug(2)
  226 + var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=mudaescala&g_sid="+g_sid+"&escala=150000";
  227 + cp.call(p,"mudaescala",window.parent.ajaxredesenha);
  228 +}
  229 +function esconde(obj)
  230 +{
  231 + $i("f").style.display="none"
  232 + if(obj.value=="flickr")
  233 + {$i("f").style.display="block"}
  234 + $i("resultadofotos").innerHTML = "Clique em 'Procurar fotos' para iniciar pesquisa de fotos.";
  235 + $i("paginas").innerHTML = ""
  236 +}
0 237 \ No newline at end of file
... ...