- Codificador simplificador de polylines http://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/
- Desenhador de polígonos, markers e polylines http://gmaps-samples.googlecode.com/svn/trunk/poly/mymapstoolbar.html
- Codificador oficial de polylines http://code.google.com/apis/maps/documentation/polylineutility.html
sábado, 24 de maio de 2008
Google Maps Polyline Encoder - Codificador de Linhas
Resolvi juntar os 3 seguintes sites num único e simples Mashup
Marcadores:
google maps api mashup polyline encoder polygon
quarta-feira, 14 de maio de 2008
Abrir arquivos do Google Earth (*.kmz) usando o browser
Há algum tempo descobri que o Google Maps mostrava o conteúdo de arquivos KML. Basta colar a URL do arquivo no campo de busca do site
Para abrir um arquivo KMZ, como este aqui:
http://maps.google.come efetuar a busca. O que eu não sabia é que a mesma técnica funciona para os ilegíveis arquivos KMZ do Google Earth.
Para abrir um arquivo KMZ, como este aqui:
http://www.gearthblog.com/kmfiles/lasvegas.kmzno Google Maps, há também um método alternativo, basta colocar
http://maps.google.com.br/maps?q=antes da URL, ficando assim:
http://maps.google.com.br/maps?q=http://www.gearthblog.com/kmfiles/lasvegas.kmzDesta forma não precisamos instalar o Google Earth para ver tais arquivos.
segunda-feira, 5 de maio de 2008
Desempenho de páginas Web
Ou "Como deixar meu website mais rápido?"
Steve Souders proclama que desenvolveu o YSlow, extensão do Firefox e do Firebug que calcula uma nota para a conformidade de um site com as regras para sites de alta performance da YDN. Agora ele proclama mais 10 mandamentos para o desenvolvedor de sites eficientes. Vou listar todas as regras juntas agora:
A segunda têm aplicações na desenvolvimento para dispositivos móveis aonde os recursos de hardware são mais escassos, e browser que entendam páginas em padrões legados são mais lentos que browsers que processam apenas XHTML. Para testar se seu site está em conformidade com estas regras, visite sua URL pública e depois digite na barra de endereço do browser o seguinte:
Steve Souders proclama que desenvolveu o YSlow, extensão do Firefox e do Firebug que calcula uma nota para a conformidade de um site com as regras para sites de alta performance da YDN. Agora ele proclama mais 10 mandamentos para o desenvolvedor de sites eficientes. Vou listar todas as regras juntas agora:
- Diminua requisições HTTP
- Hospede seu site em servidores espalhados geograficamente
- Crie um prazo de expiração e controle o cache pelo HTTP Header
- Compacte os arquivos
- Ponha stylesheets no header
- Ponha JS no final do body
- Evite programação dentro do CSS
- Coloque todo JS e CSS cada um no seu arquivo separado
- Diminue busca por nomes em DNS
- Minifique JS e CSS
- Evite redirects (301 e 302)
- Remova scripts duplicados
- Configure ETags
- Faça AJAX cacheável
- Use o flush no header para enviar mais cedo partes do HTML
- Use GET para fazer requisições AJAX
- Carregue depois o que não for essencial no início
- Pré-carregue o que provavelmente terá de ser carregado
- Reduza o número de tags necessárias para desenhar um layout
- Divida os arquivos em vários domínios
- Minimize o número de iFrames
- Evite chamadas a URLs inexistentes (404)
- Reduza o tamanho dos cookies
- Use domínios sem cookies para arquivos estáticos
- Minimize a chamada a elementos DOM no JS
- Desenvolva eventos inteligentes
- Prefira <link> a @import
- Evite filtros
- Otimize imagens
- Otimize Sprites CSS
- Não use imagens maiores do que o necessário
- Crie um favicon.ico pequeno e cacheável
- Mantenha todos arquivos com menos de 25Kb
- Empacote os arquivos em um documento de várias partes
- Divida a carga inicial
- Carregue scripts sem bloquear
- Não divida scripts
- Split dominant content domains, repetido
- Make static content cookie-free, repetido
- Reduce cookie weight, repetido
- Minify CSS, repetido
- Optimize images, repetido
- Use iframes sparingly, repetido
- Ou use www ou não use www
- Otimize loops internos
- Crie páginas dentro dos padrões XHTML
A segunda têm aplicações na desenvolvimento para dispositivos móveis aonde os recursos de hardware são mais escassos, e browser que entendam páginas em padrões legados são mais lentos que browsers que processam apenas XHTML. Para testar se seu site está em conformidade com estas regras, visite sua URL pública e depois digite na barra de endereço do browser o seguinte:
javascript:window.location=%22http://validator.w3.org/check?uri=%22+window.location
domingo, 27 de abril de 2008
Codificação de Strings para programação Web
A coisa mais importante para localizar seu site ASP.NET para a língua portuguesa é usar a seguinte linha no seu Web.Config:
Já no JavaScript (e também no JScript) existem escape(), encodeURI() e encodeURIComponent() e as funções inversas.
Quando a meta tag de codificação iso-8859-1 não está presente no header do documento HTML, faz-se necessário utilizar a codificação HTML, também chamados de entity escape characters. Para realizar a conversão você pode fazer manualmente com ajuda desta tabela, ou utilizar as seguintes funções:
ASP.NET
<globalization uiculture="pt-BR" culture="pt-BR" fileencoding="iso-8859-1" responseencoding="utf-8" requestencoding="utf-8">Para a passagem de parâmetros via QueryString, na língua portuguesa sempre há o problema de caracteres acentuados e a cedilha. Para contornar este problema os browsers sempre codificam os caracteres acentuados, de uma das seguintes formas:
- escape(), ex:
@ vira %7E
- encodeURI(), ex: % vira %25
- encodeURIComponent(), ex: @ vira %40
Request.Params["nomedoparâmetro"];Mas se o parâmetro não tiver sido codificado explicitamente, ele será codificado de forma que não será possível decodificar com nenhum dos métodos abaixo:
- Microsoft.JScript.GlobalObject
.unescape(), complementada por escape() - Microsoft.JScript.GlobalObject
.decodeURI(), complementada por encodeURI() - Microsoft.JScript.GlobalObject
.decodeURIComponent(), complementada por encodeURIComponent() - Server.UrlDecode(), complementada por Server.UrlEncode()
Já no JavaScript (e também no JScript) existem escape(), encodeURI() e encodeURIComponent() e as funções inversas.
Quando a meta tag de codificação iso-8859-1 não está presente no header do documento HTML, faz-se necessário utilizar a codificação HTML, também chamados de entity escape characters. Para realizar a conversão você pode fazer manualmente com ajuda desta tabela, ou utilizar as seguintes funções:
ASP.NET
- Server.HtmlDecode()
- Server.HtmlEncode()
- escapeHTML()
- unescapeHTML()
function escapeHTML() {
var self = arguments.callee;
self.text.data = this;
return self.div.innerHTML;
}
function unescapeHTML() {
var div = new Element('div');
div.innerHTML = this.stripTags();
return div.childNodes[0] ? (div.childNodes.length > 1 ?
$A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
div.childNodes[0].nodeValue) : '';
}
function $A(iterable) {
if (!iterable) return [];
if (iterable.toArray) return iterable.toArray();
var length = iterable.length, results = new Array(length);
while (length--) results[length] = iterable[length];
return results;
}
terça-feira, 22 de abril de 2008
Páginas ASP.NET cacheáveis
Ou "Como fazer que as páginas ASPX sejam guardadas no cache do browser?"
Eu costumava salvar toda página estática dos meus projetos Web em arquivos .HTML, mas o Sandro do MS-Developers me ensinou como fazer páginas ASPX cacheáveis:
Insira o seguinte código C# .NET no Page_Load:
Response.Cache.SetExpires(DateTime.Now.AddYears(1));Você pode usar a condição if(!IsPostBack) para executar o código acima em páginas AJAX.
Response.Cache.SetCacheability(System.Web.HttpCacheability.Public);
Pesquisando melhor encontrei um método alternativo, inclua no início do arquivo ASPX:
<%@ OutputCache Duration="31536000" Location="Any" VaryByParam="none" %>Conforme o manual do ASP Alliance
E para desabilitar o cache basta usar o seguinte código:
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Assinar:
Postagens (Atom)