From 9e2546a6cfd4a18cda23272e9a88d8c536d7e680 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 7 Feb 2008 13:37:38 +0000 Subject: [PATCH] inclusão da ferramenta de busca de fotografias em uma região do mapa --- ferramentas/buscafotos/funcoes.php | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ferramentas/buscafotos/index.htm | 35 +++++++++++++++++++++++++++++++++++ ferramentas/buscafotos/index.js | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 326 insertions(+), 0 deletions(-) create mode 100644 ferramentas/buscafotos/funcoes.php create mode 100644 ferramentas/buscafotos/index.htm create mode 100644 ferramentas/buscafotos/index.js diff --git a/ferramentas/buscafotos/funcoes.php b/ferramentas/buscafotos/funcoes.php new file mode 100644 index 0000000..dca6844 --- /dev/null +++ b/ferramentas/buscafotos/funcoes.php @@ -0,0 +1,55 @@ +register('listafotosflickr');} +if($funcao == "listafotospanoramio") +{$cp->register('listafotospanoramio');} +if($funcao == "listafotoslocr") +{$cp->register('listafotoslocr');} +$cp->start(); +$cp->return_data(); +function listafotosflickr() +{ + global $ret, $cp, $key, $texto,$ai,$af,$page; + $ret = explode(" ",$ret); + $ret = implode(",",$ret); + $resultado = ""; + if ($ai != "") + $ai = strtotime("1 Jan ".$ai);// echo strtotime("10 September 2000") + if($af != "") + $af = strtotime("30 Dec ".$af); + $f = new phpFlickr($key); + $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")); + if(!$recent){$recent = "";} + $cp->set_data($recent); +} +function listafotospanoramio() +{ + global $ret, $cp,$ai,$af; + $ret = explode(" ",$ret); + $resultado = ""; + $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"); + $recent = str_replace("\n","",$recent); + $recent = str_replace("'","",$recent); + $recent = str_replace('"',"'",$recent); + $cp->set_data($recent); +} +function listafotoslocr() +{ + global $ret,$cp,$ai,$af; + $ret = explode(" ",$ret); + $resultado = ""; + $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); + $recent = file_get_contents($u); + $recent = str_replace("\n","",$recent); + $recent = str_replace("\t","",$recent); + $recent = str_replace("'","",$recent); + $recent = str_replace('"',"'",$recent); + $cp->set_data($recent); +} +?> \ No newline at end of file diff --git a/ferramentas/buscafotos/index.htm b/ferramentas/buscafotos/index.htm new file mode 100644 index 0000000..b817af9 --- /dev/null +++ b/ferramentas/buscafotos/index.htm @@ -0,0 +1,35 @@ + + + + + + + + +
+ + Flickr + Panoramio + Locr + +
+

+
Aguarde...
+ + + + + \ No newline at end of file diff --git a/ferramentas/buscafotos/index.js b/ferramentas/buscafotos/index.js new file mode 100644 index 0000000..b3ccbce --- /dev/null +++ b/ferramentas/buscafotos/index.js @@ -0,0 +1,236 @@ +/* +About: Licença + +I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; +tanto a versão 2 da Licença. +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. +*/ +//inicializa +parametrosURL() +busca(1) +YAHOO.example.init = function () +{ + function onPushButtonsMarkupReady() + {new YAHOO.widget.Button("botao2");} + YAHOO.util.Event.onContentReady("botao2", onPushButtonsMarkupReady); +}() +function busca(pagina) +{ + aguarde("block") + $i("resultadofotos").innerHTML = "Aguarde..."; + $i("paginas").innerHTML = ""; + var texto = $i("texto").value; + var ai = $i("ai").value; + var af = $i("af").value; + if (window.parent.objmapa) + { + if (window.parent.objmapa.scale > 150001) + { + var ins = "Aproxime mais o mapa
(pelo menos até a escala 1:150.000)!"; + ins += "

" + $i("resultadofotos").innerHTML = ins; + YAHOO.example.init = function () + { + function onPushButtonsMarkupReady() + {new YAHOO.widget.Button("botao1");} + YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); + }() + aguarde("none") + return; + } + } + escondexy(); + var cp = new cpaint(); + cp.set_response_type("JSON"); + if($i("buscaflickr").checked) + { + $i("f").style.display="block" + 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; + cp.call(p,"listafotosflickr",listafotosflickr); + } + if($i("buscapanoramio").checked) + { + $i("f").style.display="none" + $i("paginas").innerHTML = pagina+50; + var ai = pagina + var af = pagina+50 + var p = g_locaplic+"/ferramentas/buscafotos/funcoes.php?funcao=listafotospanoramio&ret="+window.parent.objmapa.extent+"&ai="+ai+"&af="+af; + cp.call(p,"listafotospanoramio",listafotospanoramio); + } + if($i("buscalocr").checked) + { + $i("f").style.display="none" + $i("paginas").innerHTML = pagina+50; + var ai = pagina + var af = pagina+50 + var p = g_locaplic+"/ferramentas/buscafotos/funcoes.php?funcao=listafotoslocr&ret="+window.parent.objmapa.extent+"&ai="+ai+"&af="+af; + cp.call(p,"listafotoslocr",listafotoslocr); + } + +} +function listafotospanoramio(retorno) +{ + aguarde("none") + $i("resultadofotos").style.height = "335px" + eval("var data = "+retorno.data) + if(!retorno.data) + {ins += "
Problemas no acesso aos dados!

";return;} + var res = data.count + var ins = "" + ins += "Fotos encontradas na região vista no mapa:

" + if (res == 1) + {ins += "
Nada encontrado nessa região!

";} + else + { + ins += "" + for (i=0;iautor: "+data.photos[i].owner_name+" - "+data.photos[i].photo_title+"

" + ins += "" + } + } + ins += "
" + } + $i("resultadofotos").innerHTML = ins; + var p = parseInt($i("paginas").innerHTML) + if(res > 50) + { + var ins = "mais... " + $i("paginas").innerHTML = ins; + } + else + $i("paginas").innerHTML = ""; +} +function listafotosflickr(retorno) +{ + aguarde("none") + $i("resultadofotos").style.height = "150px" + if((!retorno.data) || (retorno.data == "")) + {ins = "
Problemas no acesso aos dados!

";$i("resultadofotos").innerHTML = ins;return;} + var data = retorno.data.photo + var res = data.length + var ins = "" + ins += "Fotos encontradas na região vista no mapa:

" + if (res == 0) + {ins += "
Nada encontrado nessa região!

";} + else + { + ins += "" + for (i=0;i"+data[i].title+"

" + ins += "" + } + ins += "
" + } + $i("resultadofotos").innerHTML = ins; + var p = retorno.data.pages + var ins = ""; + for (i=0;i"+i+" " + } + $i("paginas").innerHTML = ins; +} +function listafotoslocr(retorno) +{ + aguarde("none") + $i("resultadofotos").style.height = "340px" + eval("var data = "+retorno.data) + if(!retorno.data) + {ins += "
Problemas no acesso aos dados!

";return;} + var res = data.photos.length + var ins = "" + ins += "Fotos encontradas na região vista no mapa:

" + if (res == 0) + {ins += "
Nada encontrado nessa região!

";} + else + { + ins += "" + for (i=0;iautor: "+data.photos[i].user_name+" - "+data.photos[i].caption+"

" + ins += "" + } + } + ins += "
" + } + $i("resultadofotos").innerHTML = ins; + var p = parseInt($i("paginas").innerHTML) + if(res > 50) + { + var ins = "mais... " + $i("paginas").innerHTML = ins; + } + else + $i("paginas").innerHTML = ""; +} + +function mostraxy(xy) +{ + var xy = xy.split(",") + var xy = window.parent.convddtela(xy[1]*1,xy[0]*1,window.parent.document) + var box = window.parent.$i("boxpin") + box.style.display = "block" + box.style.width = "21px" + box.style.height = "25px" + box.style.top = parseInt(xy[1])+"px" + box.style.left = parseInt(xy[0])+"px" +} +function escondexy() +{ + if(window.parent.$i("boxpin")) + { + var box = window.parent.$i("boxpin") + box.style.display = "none" + box.style.top = "0px" + box.style.left = "0px" + } +} + +function ajustarescala() +{ + var cp = new cpaint(); + cp.set_response_type("JSON"); + //cp.set_debug(2) + var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=mudaescala&g_sid="+g_sid+"&escala=150000"; + cp.call(p,"mudaescala",window.parent.ajaxredesenha); +} +function esconde(obj) +{ + $i("f").style.display="none" + if(obj.value=="flickr") + {$i("f").style.display="block"} + $i("resultadofotos").innerHTML = "Clique em 'Procurar fotos' para iniciar pesquisa de fotos."; + $i("paginas").innerHTML = "" +} \ No newline at end of file -- libgit2 0.21.2