Maio 1, 2008

Com vocês, julio

Não me perguntem o porquê do nome, mas o fato é que julio é esse mapa em Flash que conversa com Javascript. Ainda está em desenvolvimento, mas já uso pra alguns projetos e resolvi liberar todo o código no Google Code pra quem quiser usar.
Também tem uma página de exemplos aqui que é um manual de instruções.
Para ter uma idéia de como o mapa funciona, dê uma clicada pelos estados para experimentar o zoom:

julio


Uma das aplicações do julio pode ser a exibição de gradações de cores no mapa de acordo com alguns valores. Peguei o preço médio do litro de gasolina em cada estado aqui e passei pra variáveis dentro do Javascript. E com isso basta um link para alterar tudo no julio: Clique aqui para ver no mapa. Passe o mouse sobre os estados para ver os valores. Quanto mais escuro, maior o preço da gasolina.
Não esqueça, dá pra brincar bastante com o mapa na página de exemplos.

44 Comments

  1. puxa cara, muiiito bom mesmo! parabéns.
    vou recomendar.

  2. Fantástico! Vou espreitar melhor o código, gostaria de fazer algumas coias com essa aplicação.

  3. Muito bom mesmo, Pedro! Desde o primeiro momento eu curti muito o Julio.

    Só gostaria de saber se ele funciona pegando dados de um arquivo XML ou se é necessário um banco de dados.

    Coloco isso, pois para usuários mais leigos (moçada de ONGs na maior parte) é mais fácil editar um arquivo-texto que mexer numbanco de dados…

    Abração,
    Carlos

  4. Marcus says:

    Ainda não testei, mas estava a procura de algo semelhante e flexível, acho que achei :)

    Só uma pergunta, como faço para atribuir uma URL ao click de um estado?

    Parabéns pela iniciativa.

  5. Oi Marcus, vc atribui qualquer função ao estado pelo javascript.
    Crie no javascript uma função assim:
    function chamaUrl(estado) {
    window.open(“http://minhaurl?estado=”+estado)
    }
    e aí diga para os estados a chamarem.
    defineFuncao(‘JS’,'chamaUrl’)

    Note que ao definir a função, ela vai receber a sigla do estado.

    Não testei nada do código acima, dê uma olhada na página de exemplos para um código mais confiável: http://www.pedrovalente.com/projetos/julio/julio_docs.html

  6. Adriana says:

    Pedro,

    Fantástico teu projeto, muito bom mesmo. Parabéns.

    Se eu quisesse utilizar outro mapa, é possível? eu precisaria trabalhar como no mapa?

    Uma última coisa: posso utilizar a biblioteca livremente?

    Abraço

  7. Izabel says:

    ola amigos,

    não consegui baixar o zip, podem me ajudar por favor

    izabel

  8. Loene Silva says:

    Boa Tarde,

    Não consigo visualizar o código! Alguém pode me ajudar?

    Desde já muito obrigado!

  9. Carlos says:

    baixei a pasta swfobject mais nao funcionou. o que estou fazendo de errado

  10. Marcio says:

    Ola, muito bom o controle, só gostaria de saber como recuperar via javascript o estado que eu cliquei.

  11. Marcio, veja a página de exemplos, seção “Variáveis”, último item. ( http://www.pedrovalente.com/projetos/julio/julio_docs.html )

    Ali você pode especificar que função JS deve ser chamada ao clicar. A sigla do estado é passada como parâmetro para ela e aí vc pode fazer o que quiser.

  12. CACA-[COBRA] says:

    Eu não vi na documentação como altera o texto abaixo da sigla, é possivel?

  13. Augusto says:

    perfeito, voce é D+!

  14. Jorge says:

    Pedro, as funçoes não funcionam no IE 8 quando estou dentro de um o que pode ser?
    abraços,

    Jorge Nilson S. das Flores

  15. Jorge says:

    ali seria um form..

  16. fernando says:

    cara urgente, nao estou conseguindo baixar no google code,
    nao ha o arquivo.

    muito bom seu trabalho, eu queria usa-lo mas nao estou conseguindo. :(

  17. fernando says:

    jah consegui via svn, vlw show de bola

  18. Renan says:

    Olá Pedro, seu mapa é realmente muito bom.

    tenho a mesma duvida do Marcus.

    Gostaria de ao clicar num determinado estado ele carregasse uma pagina dentro de um iframe.

    Não entendi como fazer. você poderia me ajudar?

  19. thiagu says:

    ei julio tem como vc disponibilizar o arquivo do mapa ja pronto ?
    desde ja agradeço

  20. leonardo says:

    gostei do projeto, porém achei a documentação bem fraquinha. estou com a mesma dúvida do nosso colega aí em cima. nesta página vc passa um link chamando mostraPesquisa(), mas explica melhor cara! como mudar os textos dos boxes? e como desabilitar o link que amplia os estados. só quero mostrar os representantes de cada estado.

  21. Anselmo says:

    Pedro,

    Seu projeto é simplesmente fantástico.
    Parabéns, e obrigado por disponibilizar os códigos.

  22. José Fernando says:

    Bom Dia a todos,

    No IE funcionou que é uma blz… mas no mozilla e no chrome nao rolou… alguém saberia me dizer pq???

    Vlw!!!

  23. Erick says:

    Pedro,

    Parabéns, muito bom projeto.

    Tenho uma pergunta, para aumentar a caixa de texto chamada pelo mouseover nos estados, só com a edição do .fla ou tem alguma propriedade/método por javascript que pode ser usada?

    Abraço,
    Erick

  24. Higor says:

    Obrigado por este script Pedro, mas gostaria que funcionasse o exemplo que passou:

    function chamaUrl(estado) {
    window.open(“http://minhaurl?estado=”+estado)
    }
    e aí diga para os estados a chamarem.
    defineFuncao(‘JS’,’chamaUrl’)

    Poderia dar uma revisada por favor.
    Grato,
    Higor

  25. Vc trocou o “minhaurl” pela sua URL?

  26. Patricia says:

    Oi, tudo bem, aonde eu posso baixar esse o flash, pois preciso mudar a cor de verde para uma amarelo quase dourado.

    É possível? Pois no Google Code, não esta disponilizado para download.

    Aguardo o quanto antes.

  27. Luciano says:

    Pedro,

    desculpe, mas não tenho experiência em JS. preciso de um exemplo bem mastigado, funcionando, de como carregar o mapa com links nos estados. será q vc poderia acrescentar isso ao código, por favor?

    desde já, obrigado.

    abs

  28. Luciano says:

    fala, Pedro, descobri oq tava faltando naquele seu exemplo de incluir links nos estados.

    seguinte: tem q ter um certo código no julio.js e outro na página HTML.

    NO JULIO.JS:

    function chamaUrl(estado) {
    window.open('http://exemplo.com/'+estado);
    }

    NO HTML:

    (...)

    function inicializaJulio() {
    getJulio().defineFuncao('JS','chamaUrl');
    }

    (...)

    o problema com documentações como a sua, na minha humilde opinião, é supor q leigos sejam capazes de juntar 2 exemplos e criar um terceiro. por outro lado, fica difícil (leia-se “impossível”…) cobrir tooodos os exemplos possíveis.

    portanto estou te passando a experiência q tive de forma a aprimorar seu excelente produto.

    abs e mto obrigado!

  29. Luciano says:

    (o outro comentário ficou incompleto pq seu blog excluiu as tags de HTML… então reescrevi abaixo com colchetes.)

    fala, Pedro, descobri oq tava faltando naquele seu exemplo de incluir links nos estados.

    seguinte: tem q ter um certo código no julio.js e outro na página HTML.

    NO JULIO.JS:

    function chamaUrl(estado) {
    window.open(‘http://exemplo.com/’+estado);
    }

    NO HTML:

    [head]

    (…)

    [script type="text/javascript"]
    function inicializaJulio() {
    getJulio().defineFuncao(‘JS’,'chamaUrl’);
    }
    [/script]

    (…)

    [/head]

    o problema com documentações como a sua, na minha humilde opinião, é supor q leigos sejam capazes de juntar 2 exemplos e criar um terceiro. por outro lado, fica difícil (leia-se “impossível”…) cobrir tooodos os exemplos possíveis.

    portanto estou te passando a experiência q tive de forma a aprimorar seu excelente produto.

    abs e mto obrigado!

  30. Luciano, que bom que você conseguiu resolver.
    Mas a idéia não era mesmo ensinar javascript pra leigos, mas documentar pra quem já tem alguma noção.
    abs

  31. Paulo Caldera says:

    Voce poderia fazer um tutorial de como fazer-lo.

    Esta de parabens.

  32. Franklin says:

    Oi Pedro, bom dia… parabéns pelo Mapa… simplesmente demais.
    Tenho um dúvida sobre ele. Vi que é possível incluir pontos nesse mapa. Gostaria de saber se é possível e como definir funções javascript para esses pontos ?
    vi que a sua função de adicionar ponto
    inserePonto = function(x, y, tamanho, cor, opacidade, nome)
    não tem nenhum artifício para isso.

    No caso teria que customizar seu código fonte ou tem alguma solução ?

    Abraço

    Franklin

  33. Miriam says:

    Olá paulo !!! Gostei muito do seu feito ! Estou com a mesma dúvida do Franklin.
    É possível incluir funções javascript para os pontos que são adicionados no mapa ?

    Abraço e obrigado !

  34. Andre Luiz says:

    Parabens ao autor pelo projeto, otimo.
    Estou com um problema, mesmo nesta pagina esta dando o seguinte erro:

    Erro: O objeto não dá suporte para a propriedade ou método

    Alguem sabe oque precisa ser feito pra resolver isso?

    Um abraço a todos.

  35. MI Machado says:

    Olá Pedro,

    Muito bom seu mapa!
    Mas estou com uma dúvida
    Para fazê-lo, e alterar de acordo com as minhas configurações
    eu preciso ter o arquivo fla?
    Porque não o encontrei para baixar

    Obrigada pela força!
    Parabéns pelo trabalho!!

  36. Eduardo - Rude says:

    Muito bom Pedro, adorei o projeto e vou utiliza-lo. Nos comentários deixarei os links do seu blog pois vou divulgar o aplicativo. Muito bom.

    Abraço.

  37. Robson says:

    Bom, aqui vai minha contribuição…

    Ocorre um erro de script no IE que acabei descobrindo que a função getJulio().zoom() não funciona depois de revirar o código tentando consertar isso pensei então se não poderia ser alguma imcompatibilidade com a palavra “zoom” que está presente nos objetos flash, decidi então mudar o nome da função zoom que está no actionscript para “zoomb”:

    julio.as na linha 337
    ExternalInterface.addCallback(“zoom”, this, zoom);
    mudei para
    ExternalInterface.addCallback(“zoomb”, this, zoom);

    exportei o arquivo e pra minha surpresa não só funcionou como tb resolveu o erro de script do IE.

    a função deve ser chamada assim:
    getJulio().zoomb(uf);

    ou por outro nome que escolher…

    Fica aí a dica para o autor e para todos..
    Obrigado por compartilhar este excelente trabalho conosco.

  38. Ramom says:

    Pedro,

    parabéns pelo trabalho, testei ele por alguns minutos e consegui um ótimo resultado.

    Gostaria de saber se é possível alterar a cor de um estado (não a opacidade) quando passo o mouse sobre uma UF.

  39. José Carlos says:

    Eu estava precisando EXATAMENTE disso.

    Muito bom o projeto e você está de parabens pela forma que fez possibilitando muita flexibilidade.

    Vou usar no projeto que estava precisando e com certeza irei recomendar!!

    Obrigado!

  40. Wilson says:

    Como eu faço para o mapa já vir carregado com alguns estados com a cor vermelha por exemplo?

  41. Persio says:

    aqui, as funções não funcionam… meu firebug ta berrando:

    getJulio().mudaCorBr is not a function
    [Break on this error] getJulio().mudaCorBr(’0×000000′);

  42. João Vítor Carvalho says:

    Saudações. Parabéns pelo projeto, fantástico!

    Estou desenvolvendo uma página onde o estado clicado no mapa habilitará (tornará visível com jQuery) uma select com as cidades deste mapa. Tive dificuldade com a documentação do projeto por possuir pouca experiência em javascript e actionscript.

    Como faço para a função .onrelease() já escrever essa função jQuery carregando o estado selecionado como parâmetro da função?

    Muito obrigado!

OpenID

Anonymous