Validar la latitud y la longitud de la geolocalización -- ruby-on-rails campo con validation campo con geocoding camp Relacionados El problema

Validate Geolocation latitude and longitude


9
vote

problema

Español

Tengo un modelo de rubí en los rieles Camping con #latitude y #longitude Atributos.

Esto debe ser validado. Debe ser validado para que:

  • Los valores están formateados correctamente. P.ej. 48.8582 y 2.2945 pero también 48.8 y 2.2. Se debe permitir cualquier precisión. Los almacené como flotador, ¿alguna validación adicional necesaria o aconsejada?
  • están dentro de rangos válidos (0-90). ¿O debería permitir números negativos, o números anteriores y por debajo de 90?

No estoy interesado en si en este punto es una dirección válida real (mar, Northpole, lo que sea, siempre que sea un punto válido en la Tierra).

Estoy usando geocoder gema, pero por ahora, la entrada es simplemente un par de campos de texto lat / lon. El geocodificador es meramente de interés para esta pregunta porque puede tener métodos de utilidad (que no puedo encontrar) para validar un par lat / largo.

Original en ingles

I have a Ruby on Rails model Camping with #latitude and #longitude attributes.

This should be validated. It must be validated so that:

  • The values are correctly formatted. E.g. 48.8582 and 2.2945 but also 48.8 and 2.2. Any precision should be allowed. I store them as Float, any addtitional validation needed or advised?
  • They are within valid ranges (0-90). Or should I allow negative numbers, or numbers above and below 90?

I am not interested in whether on this point is an actual valid address (sea, northpole, whatever, as long as it is a valid point on earth).

I am using geocoder gem, but for now, input is simply a pair of lat/lon textfields. Geocoder is merely of interest for this question because it may have utility-methods (which I cannot find) to validate a lat/long pair.

        

Lista de respuestas

27
 
vote
vote
La mejor respuesta
 

No estoy al tanto de ningún método en el geocoder para verificar que, pero podría simplemente usar las validaciones de rieles

  FileInfo2  
 

I'm not aware of any methods in Geocoder to check that but you could just use rails validations

validates :latitude , numericality: { greater_than_or_equal_to:  -90, less_than_or_equal_to:  90 } validates :longitude, numericality: { greater_than_or_equal_to: -180, less_than_or_equal_to: 180 } 
 
 
0
 
vote

En rieles 4 y mayor, la respuesta correcta sería:

  FileInfo3  
 

In Rails 4 and greater, the correct answer would be:

validates :lat, numericality: { greater_than_or_equal_to: -90,  \   less_than_or_equal_to: 90 } validates :lng, numericality: { greater_than_or_equal_to: -180,  \   less_than_or_equal_to: 180 } 
 
 
 
 

Relacionados problema

2  Integrando angularjs ui.map con la ubicación GEO API  ( Integrating angularjs ui map with geo location api ) 
estoy usando http://jsfiddle.net/xspaa/371/ //Add the requried module 'angular-ui' as a dependency angular.module('maptesting', ['ui.map','ui.event']); ...

-1  Mi foreach no hará una llamada para cada coordenada que paso  ( My foreach wont make a call for every coordinate that i pass ) 
Paso algunas coordenadas a mi foreach a una geocodificación inversa. Sólo tengo una coordenada, pero no todas. Creo que es un problema de retraso. Aquí está m...

-1  ¿Por qué los resultados de la latitud cambiaron el cambio de la API de Google Maps?  ( Why did the latitude results object change from the google maps api ) 
Estoy golpeando la API de Google Maps mientras pasa en una ciudad así: this.geoCode = function(city) { var dfd = $q.defer(); var geocoder =...

-1  Es Lat / Long realmente requerido para todos los valores con metadatos_usermetadatavalue_set (Buddy.com)  ( Is lat long really required for all values with metadata usermetadatavalue set ) 
Estoy usando buddy.com y los docs para MetaData_UserMetaDataValue_Set di: cadena de metalatitud - La latitud de la ubicación de metadatos, este valor d...

8  Aprende GIS con Python [cerrado]  ( Learn gis with python ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

0  No puede obtener país de la geocodificación inversa en algunos casos  ( Cant get country from reverse geocoding in some cases ) 
He usado la codificación geográfica inversa de Google para Fetch Administrative_Area_Level_1, país y código postal. El problema es que, en algunos casos, n...

1  Acceso a los objetos infantiles de rieles dentro de JavaScript  ( Accessing rails child objects within javascript ) 
Soy muy nuevo en los rieles, así que por favor soporta conmigo. No he agarrado bastante toda la "magia" todavía. Básicamente, necesito acceder a los objetos...

1  Geocodificación inversa para Israel [CERRADO]  ( Reverse geocoding for israel ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

1  Calcule el mejor centro inicial y el mejor zoom inicial dependiendo de una lista de ubicación  ( Calculate the initial best center and best initial zoom depending on a list of l ) 
Estimado todo. Soy bastante nuevo en la codificación con la ubicación, así que sé agradable. Tengo una lista de ubicación (Lat & amp; LNG), que podría ser r...

2  Geocodificación de WordPress utilizando la dirección o un mapa  ( Wordpress geocoding using direction or a map ) 
Estoy tratando de hacer una página de WordPress donde el usuario puede apuntar a una ubicación escribiendo la dirección o navegando en un mapa`. Como puede ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos