Jump to content

Projecto com Google Maps


rexmage
 Share

Recommended Posts

Boas pessoal estou com ideias sobre um projecto já algum tempo e queria saber se alguém sabe como usar o google maps, para colocar a nossa própria base de dados de utilizadores.

Ou seja através do google localizar amigos que nós definimos os pontos onde eles estão. Tal e qual como o google faz mas através da nossa própria BD.

Isto é possível porque existe um site que eu descobri aqui há dias chamado http://wikimapia.org/

Fikei fascinado e pensei em fazer algo que fosse só com os meus amigos que eu escolher através de um registo na admin.

Alguém sabe como fazer ou conhece algum tutorial?

Cumpz

<?PHP echo "Bo0m"; ?>

Link to comment
Share on other sites

Secção errada - a integração com o Google Maps faz-se ao nível do Javascript, e não do PHP.

Anyway, a documentação da API está aqui. É muito simples de usar - por acaso ainda não trabalhei com esta versão 3 da API, mas se vier na mesma linha das duas versões anteriores, é trivial e croquetes.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

mjamado, a API do Google Maps permite colocar "objectos" por cima do WMS do Google Maps.

Estes "objectos" pode ser qualquer coisa com informação geográfica e podes ter essa informação na tua própria base de dados. O javascript servirá apenas para "colar" os objectos no mapa.

rexmage, sim é possivel colocares a tua informação sobre o Google Maps.

Melhor do que o google maps, o Google Earth. Dá uma ollhada neste link:

http://kml-samples.googlecode.com/svn/trunk/interactive/index.html

Exemplo: guarda a tua informação na base de dados com informação geográfica (ex. coordenadas). Com uma linguagem do servidor gera KML. Passa o KML para o Javascript e cola usando a API do Google Earth  😞

rexmage, o teu projecto é interessante... algo que também já pensei fazer... quando tiveres isso a funcionar diz-me 😉

Cumps,

Marco

Link to comment
Share on other sites

mjamado, a API do Google Maps permite colocar "objectos" por cima do WMS do Google Maps.

Estes "objectos" pode ser qualquer coisa com informação geográfica e podes ter essa informação na tua própria base de dados. O javascript servirá apenas para "colar" os objectos no mapa.

Não percebi esta tua tirada... Onde é que eu disse o contrário?

Melhor do que o google maps, o Google Earth. Dá uma ollhada neste link:

http://kml-samples.googlecode.com/svn/trunk/interactive/index.html

Exemplo: guarda a tua informação na base de dados com informação geográfica (ex. coordenadas). Com uma linguagem do servidor gera KML. Passa o KML para o Javascript e cola usando a API do Google Earth  😞

Cuidado com o Google Earth - pede para instalar um plugin específico, algo que as pessoas podem fazer ou não - se não o fizerem e se o projecto assentar em exclusivo nele, puff. Mais vale assentar no Maps, e depois dar a opção de mudar para o Earth, algo que é feito de forma integrada.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Boas pessoal, sim é mesmo isso também analisei isso da API e queria avançar com o projecto. Vou analisar melhor essa ideia e sempre que houver novidades vou por aqui.

P.S: desculpem lá a minha falta de "compreensão" sobre o local onde colocar isto mas ia jurar que o php estava ligado atraves do javascript de forma a combinar com o php com o xml pra chegar á sql...

Anyway, tou com uma dúvida, que linguagens/tecnologias uso para chegar akilo que quero? Já percebi que uso javascript mas eu não quero instalar plugins.

Quero chegar lá ao site e marcar os meus locais por exemplo no mapa. Existe alguma ideia de como chegamos a isto ?

Ponto de situação

  • Linguagens: Javascript;
  • Tecnologias: Google Maps [API];

Cumpz

<?PHP echo "Bo0m"; ?>

Link to comment
Share on other sites

Ah, bom - nem sequer sabes por onde começar...  😞

Então, sim, talvez estejas no sítio correcto porque, como é lógico, toda a lógica da aplicação tem que ser feita numa linguagem server-side como, por exemplo, PHP.

Basicamente tens de pensar numa estrutura de dados primeiro, criar toda a lógica aplicacional em PHP, possivelmente incluindo um back-office, e depois o front-end em (x)HTML e Javascript, usando a API do Google Maps.

Começa pela estrutura de dados: utilizadores, conjuntos de pontos desses utilizadores, cada ponto, fotos e textos associados and so on.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Secção errada - a integração com o Google Maps faz-se ao nível do Javascript, e não do PHP.

Penso que o rexmage colocou a questão na secção certa uma vez que a integração do google maps no projecto dele necessitará de uma linguagem no servidor onde PHP serve o propósito para criar KML com os dados da BD. É claro que também poderia colocar a questão noutra secção... mas colocar a questão aqui não me parece que esteja errado.

Cuidado com o Google Earth - pede para instalar um plugin específico, algo que as pessoas podem fazer ou não - se não o fizerem e se o projecto assentar em exclusivo nele, puff. Mais vale assentar no Maps, e depois dar a opção de mudar para o Earth, algo que é feito de forma integrada.

Instalar plugins... eu compreendo os web standards... mas também compreendo que os standards evoluem e devem evoluir, para não ficarem agarrados à "idade da pedra"...

A experiência que tenho e que observo no dia-a-dia dão-me indicadores de que, se o utilizador quer acima de tudo, utilizar um determinado produto e se nos requerimentos desse produto estiverem lá os extras A, B, C, o utilizador acaba por satisfazer esses requerimentos para obter o produto final. Existem outras tecnologias por aí, flash, silverlight, etc... e para o utilizador final todas elas acabam por ser instaladas.

rexmage, dá uma vista de olhos no GeoTwitter http://geotwitter.org/

Penso que é este tipo de projecto que pretendes...

Cumps,

Marco

Link to comment
Share on other sites

Não me passou pela cabeça que quem faz uma pergunta destas tivesse dúvidas ao nível da raiz... Até porque a estrutura de dados necessária é muito simples: utilizadores (que até pode nem ser o caso) -> grupo de pontos (que pode não existir, mas é melhor para se poderem fazer conjuntos) -> pontos (com a informação geográfica, textos, imagens).

São três modelos muito simples... Duma forma extremamente simplista, até podia ser só um modelo (o dos pontos). E não é preciso gerar KML, a API do Maps aceita os pontos duma forma OO mais intuitiva.

Quanto ao Earth, sério, melhor não usar mesmo num contexto web. O plugin que é necessário instalar não tem qualquer comparação com o Flash Player (que alguns browsers até trazem integrado). É possível dar a opção de activar o Earth a partir do Maps, e o utilizador que o fizer tem depois a opção de continuar ou não - mas forçar essa situação é afastar utilizadores.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

A minha dúvida, foi mais por razão de falta de tempo. Só agora é que consegui vir aqui para responder-vos. Bom realmente depois de analisar o gmaps API encontrei algumas funcionalidades que me parecem ser bastante interessantes no uso do meu projecto.

A estrutura da administração é fácil a única parte que penso complexa e mais trabalhosa é o "helo" de ligação gmaps+ o meu gestor.

Sim mjamado quero evitar trabalhar com funções que obriguem a instalação de plugins isto para ser "user friendly".

Gostei do exemplo geotwitter muito engraçado e, o meu é semelhante mas a diferença é que quero colocar apenas " a minha bd " e não externos.

<?PHP echo "Bo0m"; ?>

Link to comment
Share on other sites

Ok mjamado... não quero discutir a questão do local onde se colocou o post... só achei um pouco agressiva a 1º linha da tua 1ª resposta sem saber a profundidade da questão... mas tudo bem 😉

Também gostei do uso da API do Google Maps no site dourohistorico.pt 😄

A estrutura da administração é fácil a única parte que penso complexa e mais trabalhosa é o "helo" de ligação gmaps+ o meu gestor.

Provavelmente vais precisar carregar os dados que tens na BD para o browser por AJAX...

Uma forma de fazer seria usares uma framework JS para lidar com as chamadas AJAX. Devolvias os "response" em JSON e criavas "markers" do google com JSON.

Algo do tipo...

Mapa:

var map;

function initialize() {
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
  }

Carregar os pontos por AJAX usando Prototype.

new Ajax.Request('/some_url', { method:'get',
  onSuccess: function(transport, json){
      var ponto1 =  new google.maps.Marker({position: new google.maps.LatLng(json.lat, json.lon),  map: map});
    }
  });

Se devolveres uma matriz no json, terás que criar um ciclo em javascript...

No lado do servidor, em PHP, terias algo do tipo:

$ponto = array('lon' => longitude, 'lat' => latitude);

header('Content-type: application/json');
echo json_encode($ponto);

Consulta:

http://www.prototypejs.org/learn/introduction-to-ajax

http://code.google.com/apis/maps/documentation/javascript/reference.html#MarkerOptions

Espero ter ajudado...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.