Commit 9e2546a6cfd4a18cda23272e9a88d8c536d7e680
1 parent
d3fffd3e
Exists in
master
and in
7 other branches
inclusão da ferramenta de busca de fotografias em uma região do mapa
Showing
3 changed files
with
326 additions
and
0 deletions
Show diff stats
| @@ -0,0 +1,55 @@ | @@ -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 | \ No newline at end of file | 56 | \ No newline at end of file |
| @@ -0,0 +1,35 @@ | @@ -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ão é endossado nem certificado pelo Flickr.</i> | ||
| 10 | + <p>Opção Flickr: Se nenhum parâmetro for definido, serão consideradas apenas as fotos incluídas nas últimas 12 horas. | ||
| 11 | + De qualquer forma, são mostrados no máximo 250 registros. | ||
| 12 | + O ano diz respeito a inclusã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 | + 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 | \ No newline at end of file | 36 | \ No newline at end of file |
| @@ -0,0 +1,236 @@ | @@ -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ão vista no mapa:</span><br><br>" | ||
| 95 | + if (res == 1) | ||
| 96 | + {ins += "<br><span style=color:red>Nada encontrado nessa regiã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... </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ão vista no mapa:</span><br><br>" | ||
| 134 | + if (res == 0) | ||
| 135 | + {ins += "<br><span style=color:red>Nada encontrado nessa regiã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+" </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ão vista no mapa:</span><br><br>" | ||
| 169 | + if (res == 0) | ||
| 170 | + {ins += "<br><span style=color:red>Nada encontrado nessa regiã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... </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 | \ No newline at end of file | 237 | \ No newline at end of file |