sexta-feira, 24 de setembro de 2010

Problemas usando o Google Maps

Usamos o googlemaps no Censo SUAS 2010. Ele funciona bem na maioria dos casos, mas observamos os seguintes problemas:

Se eu buscar por "Rua nada a ver, 180 - Três Marias, MG, Brasil", caio em um local dentro de Três Marias, mesmo o não havendo mapeamento das ruas desse município.
Se eu buscar por "Rua das orquideas, 180 - Três Marias, MG, Brasil", caio em Santa Tereza/SE na Rua das orquideas.

Se eu buscar por "Barro, CE, Brasil", caio em uma área no Ceará, mas distante de Barro.

sábado, 21 de agosto de 2010

XML em PHP

function obterArrResposta($pergunta)
{
$arrOpcoes = $pergunta->opcoes->opcao;
$arrResposta = array();
if($arrOpcoes)
{
foreach($arrOpcoes as $opcao)
{
$arrResposta[] = strip_tags($opcao[0]->asXML());
}
}
else
{
$faixa_opcoes = $pergunta->opcoes->faixa_opcoes;
if($faixa_opcoes)
{
$faixa_opcoes = strip_tags($faixa_opcoes[0]->asXML());
$arrFaixas = explode("-", $faixa_opcoes);
for($i = $arrFaixas[0] ; $i <= $arrFaixas[1] ; $i++)
{
$arrResposta[] = $i;
}
}
}

return $arrResposta;
}

sexta-feira, 13 de agosto de 2010

doAjaxStuff

Pra eu não ter mais que ficar procurando essa função:

function doAjaxStuff
(postQueryString, onreadystatechange, action)
{
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject
("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Seu navegador não suporta AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=onreadystatechange;
xmlHttp.open("POST", action, true);
xmlHttp.setRequestHeader
("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader
("Content-length", postQueryString.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(postQueryString);
}

Erro de proxy usando ajax

Chamava uma página usando http://localhost/dir/prog.php

O IP da minha máquina era 10.68.10.68

A página realizava algumas chamadas ajax para http://10.68.10.68/dir/prog2.php

A requisição ajax não saía. Dava erro 407, pedindo autorização do proxy da rede em que eu, cliente, estava.

Soluçao simples: passei a chamar a página trocando o localhost pelo IP da máquina :D .

sexta-feira, 6 de agosto de 2010

Precisei garantir que uma página html teria dois arquivos ".js" carregados. Para isso fiz o código que está abaixo. Não tenho certeza ainda se vale a pena fazer isso. Acredito que a vantagem seja que o usuário desse js não precise lembrar também de carregar o segundo arquivo.

function inc(filename)
{
var body = document.getElementsByTagName('body').item(0);
script = document.createElement('script');
script.src = filename;
script.type = 'text/javascript';
body.appendChild(script)
}

inc("nome-do-arquivo-no-formato-do-campo-src-da-tag-script");
copiado de http://bytes.com/topic/javascript/answers/149165-import-include-js-file-into-js-file

Poderia ter feito também como abaixo, é menos elegante, mas é menor e deve funcionar quase sempre:

document.write("<script type='text/javascript' src='b.js'></script>");

http://www.jguru.com/faq/view.jsp?EID=1339630