Yii Framework Forum: Pesquisa Por Raio Do Ponto De Origem - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Pesquisa Por Raio Do Ponto De Origem Rate Topic: -----

#1 User is offline   Edson Rodrigues 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 359
  • Joined: 10-August 10

Posted 25 October 2012 - 04:05 PM

Olá Pessoal

Gostaria de uma pequena ajuda de vcs, eu estou desenvolvendo um sistema a onde o usuario digita o seu cep e o sistema tras os estabelimentos mais proximo da sua localização tipo num raio de 2km.

Alguem poderia me ajudar onde eu encontro algo parecido.

Agradeço

Edson
0

#2 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 793
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 25 October 2012 - 10:39 PM

Edson,

Depende de N fatores, você vai precisar ter uma base da dados com os estabelecimentos cadastrado.

Eu já vi sistema usando o google maps, mais eles tinha os orgãos públicos tudo cadastrado.

Agora assim, fazer que nem GPS ai já não sei se é possivel, colocar o CEP e saber um estabelecimento próprio.
Newerton Vargas de Araújo
0

#3 User is offline   Edson Rodrigues 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 359
  • Joined: 10-August 10

Posted 26 October 2012 - 10:15 AM

View PostNewerton, on 25 October 2012 - 10:39 PM, said:

Edson,

Depende de N fatores, você vai precisar ter uma base da dados com os estabelecimentos cadastrado.

Eu já vi sistema usando o google maps, mais eles tinha os orgãos públicos tudo cadastrado.

Agora assim, fazer que nem GPS ai já não sei se é possivel, colocar o CEP e saber um estabelecimento próprio.


é estou vendo a google maps.... vamos ver se ta certo!

Valew
0

#4 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 793
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 26 October 2012 - 12:04 PM

Se você tiver o cadastros dos estabelecimentos é moleza.

É so criar o array do gmaps e a cordenada atual, ele vai mostrar o seu ponto, e todos os estabelecimentos no mapa.
Newerton Vargas de Araújo
0

#5 User is offline   guaruja 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 66
  • Joined: 10-March 12

Posted 27 October 2012 - 08:15 AM

View PostNewerton, on 26 October 2012 - 12:04 PM, said:

Se você tiver o cadastros dos estabelecimentos é moleza.

É so criar o array do gmaps e a cordenada atual, ele vai mostrar o seu ponto, e todos os estabelecimentos no mapa.


Esse caminho é bom se seu alvo é gerar uma mapa. Mas existe various outros situacoes aonde voce quer um groupo de resultados (sem mapa nehuma) para gerar listas ou para outros fins.
Exemplo: um banco de dados com ofertas de empregos aonde o usario pode buscar ofertas de emprego de um certain raio de distancia do ponto do origem dele.

Um estrategia para isso pode ser assim:

tabella (de empregos) com campos
...
lon (longitude)
lat (latitude)
...

(nesses campos voce pode inserir os valores na hora que o editor salva a oferta. Voce pode resolver as coordinatas atravers do endereco de emprego utilizando o google api.
A grande vantagem é que o "geo-resolving" nao tem quer ser feito na hora da busca para cada oferta. Pense nisso como "geocaching" ;-), sem isso a sua aplicacao vai ser muito lento se tem muitos empregos para resolver)

O usario (que busca emprego) no outro lado (no Frontend) tem que informar seu ponto do origem (como no seu exemplo atravers do CEP). O geo-resolving dessa posicao tem que ser feito em tempo real se se trata de uma busca no site. Mas é um request so, entao isso nao vai gerar problemas de performance (afinal aqui voce tambem pode implementar um caching para cada CEP ja resolvido para acelerar as coisas)

Agora voce conhece lat/lon dos dois pontos. A distancia (em km) entre esses dois pontos é calculdao da seguinte forma:

$distance_between_points=round(acos(sin(deg2rad($lat_1))*sin(deg2rad($lat_2))+cos(deg2rad($lat_1))*cos(deg2rad($lat_2))*cos(deg2rad($lon_2)-deg2rad($lon_1)))*6378.388,2);


(eu realizei isso 6-7 anos atras em forma de uma extension para o TYPO3 Framework. Nao sei se hoje ja nao existe estrategias mais modernas, mas afinal essa solucao continua sendo valido)
0

#6 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 793
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 27 October 2012 - 09:17 PM

guaruja,

Esse CMS TYPO3 eu não conhecia, há possibilidades de criar uma extensão para o Yii?
Newerton Vargas de Araújo
0

#7 User is offline   guaruja 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 66
  • Joined: 10-March 12

Posted 30 October 2012 - 09:54 AM

View PostNewerton, on 27 October 2012 - 09:17 PM, said:

guaruja,
Esse CMS TYPO3 eu não conhecia


Esse framework parece ser nao muito popular na america (do sul), embora na europa é uma das frameworks (para cms) mais populares na ultima decada. Até existe uma programa de certificacao http://certification.typo3.org/

Quando tenho projetos CMS até hoje minha escolha preferida, especialmente por que ja existe muitos plugins (extensions) para essa plataforma: Repository

Para desenvolvemento de aplicativos no outro lado prefiro Yii :)



View PostNewerton, on 27 October 2012 - 09:17 PM, said:

há possibilidades de criar uma extensão para o Yii?


Para dois frameworks existe uma arquitectura para plugins/extensions. Com certeza dar para combinar os dois (embora no momento nao estou vendo motivo para isso)

Logo vai aparecer Typo3 5.0 com o novo framework FLOW3 como base. O FLOW3 tambem é MVC e vai trazer various outros rich business features.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users