Compreender geocodificação no iPad

Convertendo um endereço para um conjunto de coordenadas do mapa é chamado geocodificação para a frente, ao converter a partir de um conjunto de coordenadas para um endereço é chamado geocodificação reversa. Tanto a frente e geocodificação reversa são suportados na Apple CLGeocoder classe que faz parte da Apple CoreLocation estrutura.

o CLGeocoder classe fornece serviços para converter entre uma coordenada (especificado como uma latitude e longitude) ea representação user-friendly do que coordenam. representação de fácil utilização do sistema de coordenadas significa a rua, cidade, estado e país de um determinado local ou um ponto relevante de interesse, marco, ou outras informações de identificação.

o CLGeocoder classe também fornece serviços para o inverso: devolução do valor da coordenada para uma cadeia de texto que é a representação user-friendly do que coordenam.

Para usar um CLGeocoder objeto, primeiro criá-lo e enviá-lo a prospectivas ou mensagem de geocodificação reversa.

  • Reverse-geocodificação: Estes pedidos assumem um valor de latitude e longitude e encontrar um endereço legível pelo usuário.

  • Forward-geocodificação: Estes pedidos assumem um endereço legível pelo usuário e encontrar a latitude correspondente e valor de longitude. pedidos Forward-geocodificação também pode retornar informações adicionais sobre o local especificado, como um ponto de interesse ou de construção naquele local.

Para ambos os tipos de pedido, os resultados são devolvidos como uma matriz de CLPlacemark objetos a um bloco manipulador de conclusão. No caso de pedidos para a frente-de geocodificação, múltiplos marcador objetos podem ser devolvidos se as informações fornecidas produz vários locais possíveis.

UMA CLPlacemark objecto contém, entre outras coisas, as seguintes propriedades:

  • localização: Muito útil para a geocodificação para a frente

  • nome: O nome do marcador

  • addressDictionary: Um dicionário que contém as chaves do livro de endereços e valores para o marcador

  • ISOcountryCode: O nome abreviado país

  • país: O nome do país

  • Código postal: O código postal

  • administrativeArea: O estado ou província

  • subAdministrativeArea: Informações adicionais área administrativa (como condado)

  • localidade: A cidade

  • Sublocalização: Informações adicionais de nível de cidade, como bairro ou um nome comum para o local

  • via pública: A rua

  • subThoroughfare: Informações ao nível da rua adicionais, tais como o número de construção

  • região: O CLRegion

Landmark informações e geográfica também podem estar disponíveis no CLPlacemark objeto nas seguintes propriedades:

  • áreas de interesse: As áreas relevantes de interesse associado com o marcador

  • * inlandWater: O nome do corpo de água para o interior associado com o marcador

  • oceano: O nome do oceano associada ao marcador

Para tomar decisões inteligentes sobre quais os tipos de informações para retornar, o servidor geocoder usa toda a informação que lhe foi fornecida durante o processamento do pedido. Por exemplo, se o usuário está se movendo rapidamente ao longo de uma rodovia, o geocoder pode devolver o nome da região global e não o nome de um pequeno parque que o usuário está atravessando.

Aqui estão algumas regras bastante soltos (da Apple) para a utilização do CLGeocoder objeto:

  • Enviar no máximo uma solicitação de geocodificação para qualquer ação do usuário individual. Ou seja, não comece outra solicitação até que a primeira foi concluída.

  • Se o aplicativo precisa a localização geocodificado em mais de um local mapa, salvar e, em seguida, reutilizar os resultados da solicitação de geocodificação inicial em vez de fazer outra.

  • Quando você quiser atualizar a localização atual do usuário automaticamente (por exemplo, quando o usuário está em movimento), emitir novas solicitações de geocodificação somente quando o usuário mudou uma distância significativa, uma quantidade razoável de tempo passou, ou ambos. Por exemplo, em uma situação típica, você não deve enviar mais de uma solicitação de geocodificação por minuto.

  • Não inicie uma solicitação de geocodificação se o seu aplicativo está inativo ou em segundo plano.

  • Um dispositivo baseado em iOS deve ter acesso à rede para que o CLGeocoder objeto para retornar informações detalhadas marcador. Embora iOS armazena informação suficiente no local para relatar o nome do país localizada e código de país ISO para muitos locais, se informações sobre o país não está disponível para um local específico, o CLGeocoder objeto ainda pode relatar um erro.

Você pode usar um CLGeocoder objecto quer em conjunto com, ou independente de, das classes da MapKit estrutura.

menu