Pregunta

¿Cuál es la mejor API / recurso para obtener una cremallera 4 desde una dirección?

No quiero algo que necesita ser descargado y se actualizan de vez en cuando; Quiero uno que se actualiza automágicamente.

El objetivo es buscar las autoridades estatales y federales, sin conseguir "duplicado" posiciones.

¿Fue útil?

Solución

Yahoo tiene una cremallera + 4 en emabrgo API, límite de 5.000 solicitudes por día.

Yahoo GeoCoding

Otros consejos

JavaScript de Google Maps API V3

ACTUALIZADO:

en responce a tu comentario

esto es fácil como el recuento 1, 2, 3;)

echar un vistazo a esto:

que necesita para buscar google mapa servicio de geocodificación ! ( ventana gráfica polarización )

código de ejemplo sería:

usando jQuery

$(function() {
    $.getJSON("http://maps.google.com/maps/api/geocode/json?address=Winnetka&sensor=false",
    function(data) {
        var zip_code = data.results[0].long_name;
        alert(zip_code);
    });
});

El USPS tiene un API para encontrar / comprobar los códigos postales (entre otras cosas).

http://www.usps.com/webtools/address.htm

He usado Endicia en trabajos anteriores. Es una API basada en HTTP red. (No puedo recordar si era SOAP o REST.)

Apple provide brilliant facility to get zip+4code from lattitude and longitude with reverse geocoder -

    - (void)getPlaceMarkInfo
    {
        CLLocationCoordinate2D coordinate;

        coordinate.latitude             = your lattitude;

        coordinate.longitude            = your longitude;

        MKReverseGeocoder *RevGeoCoder  = [[MKReverseGeocoder alloc] initWithCoordinate:coordinate];

        RevGeoCoder.delegate            = self;

        [RevGeoCoder start];
    }

#pragma mark MKReverseGeocoderDelegate:


- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
{
    NSLog(@"YOUR STATE IS - %@",[placemark.addressDictionary valueForKey:@"State"]);

    NSDictionary *dictAddress = placemark.addressDictionary;

    NSString *strZipPlus4Code = [NSString
                                 stringWithFormat:@"%@-%@",[dictAddress valueForKey:@"ZIP"],
                                                                     [dictAddress valueForKey:@"PostCodeExtension"]];

    strStateName = [placemark.addressDictionary valueForKey:@"State"];
}


- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error
{
    NSLog(@"REVERSE GEOCODER FAILED");

}

respuestas anteriores han incluido alguna información muy buena, lo más importante:

  • USPS API sólo se puede utilizar si se está enviando a través de USPS (de sus : "usuario se compromete a utilizar el sitio web de USPS, APIs y los datos de USPS para facilitar el envío de USPS solamente transacciones")
  • los códigos postales son ajustados / actualiza con bastante frecuencia, por lo que sería importante contar con los datos más actuales. (Más información sobre la frecuencia con que re-validar sus direcciones aquí )

También dijo que desea algo que no necesita instalarse y mantenerse actualizados.

Con estas salvedades en mente, yo sugeriría LiveAddress API . Es una API basada en la nube, se actualiza automáticamente que los rendimientos, entre otros más de 40 puntos de datos, ZIP + 4 de datos en sus direcciones. Se puede manejar miles de direcciones de por segundo , por lo que es súper rápido y fácil de usar. Si usted tiene una lista de direcciones que desea trabajar, aunque (en lugar de a uno por vez), es posible que desee LiveAddress Listas , lo que le permite subir y procesar una lista completa de una vez.

Divulgación:. Yo trabajo en SmartyStreets, la empresa que proporciona LiveAddress

En referencia del jefe de Yahoo, GEO Api:

http: / /yboss.yahooapis.com/geo/placefinder?location=170+South+Market+St.,+San+Jose,+CA

Hacer una solicitud GET con la autorización siguiente cabecera

Ejemplo de uso de OAuth en HTTP Header:

Autorización: reino OAuth = "http://yboss.yahooapis.com/", oauth_consumer_key = "dj0yJmk9QnFUYVRUSWtRZEhsJmQ9WVdrOVFrYzFja2x4TkdNbWNHbzlNVEExTWpFMk1ESTJNZy0tJnM9Y29uc3VtZXJzZWNyZXQmeD1lNA--", oauth_nonce = "ZDQDDVLFCWKCZ0BD", oauth_signature_method = "HMAC-SHA1", oauth_timestamp =" 1367827192" , oauth_version = "1.0", oauth_signature = "phP2dNiCmvwpK4M6G% 2F85KnnvTXo% 3D"

donde:

autenticación para las consultas de BOSS Geo requiere información de OAuth en el encabezado HTTP o por medio de parámetros en la petición GET. Hay seis elementos que son necesarios para la autorización:

oauth_version=1.0 – The standard of OAuth supported by BOSS Geo.

oauth_timestamp= – The timestamp is expressed in the number of seconds since January 1, 1970 00:00:00 GMT. The timestamp value MUST be a positive integer and MUST be equal to or greater than the timestamp used in previous requests. The timestamp can be reused for up to 5 minutes. Important: After 5 minutes a fresh timestamp must be supplied.

oauth_nonce – is a random string, uniquely generated for all requests for a specific timestamp. This helps verify that a request has never been made before and helps prevent replay attacks when requests are made over a non-secure channel (such as HTTP).

oauth_consumer_key= – obtained from YDN during the BOSS project registration process. This is unique to the developer. Please follow the directions on the displayed key page and copy the entire key from YDN. If you do not copy the entire key, this results in a "Consumer Key rejected" error.

oauth_signature_method=HMAC-SHA1 – (specific algorithm used for BOSS OAuth calls).

oauth_signature – can be generated by an OAuth library. A list of supported OAuth libraries is available here: http://oauth.net/code. Over a dozen languages are supported.

Usted recibirá código postal + 4 en respuesta bajo llave "postalcode".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top