8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/generators/mdwa_endereco/install/templates/templates/models/geoposicionamento.rb', line 8
def Geoposicionamento.posicao endereco
brHelper = Object.new.extend(BrHelper)
if !endereco.blank? and endereco.class.name.eql?( Endereco.name ) and !endereco.rua.blank?
url = Settings["GEOPOSICIONAMENTO.url"] + brHelper.remover_caracteres_especiais( self.tratar_espacos( endereco.rua ) )
url += "+" + brHelper.remover_caracteres_especiais( endereco.numero.to_s ) unless endereco.numero.blank?
url += ",+" + brHelper.remover_caracteres_especiais( self.tratar_espacos( endereco.cidade.nome ) ) unless endereco.cidade_id.blank?
url += ",+" + brHelper.remover_caracteres_especiais( endereco.cidade.estado.acronimo.upcase ) unless endereco.cidade.estado_id.blank?
url += "&sensor=false"
resposta = Geoposicionamento.get( url )
if resposta.blank? or resposta["GeocodeResponse"].blank? or !resposta["GeocodeResponse"]["status"].eql?( "OK") or !resposta["GeocodeResponse"]["result"].include?("geometry")
return nil
end
endereco.latitude = resposta["GeocodeResponse"]["result"]["geometry"]["location"]["lat"]
endereco.longitude = resposta["GeocodeResponse"]["result"]["geometry"]["location"]["lng"]
return endereco
end
return nil
end
|