Pergunta

Eu tenho vista MapKit e eu preciso passo correção zoom. O usuário só deve aumentar ou diminuir por 4 vezes. Como posso fazê-lo em MapKit?

Foi útil?

Solução

O mapa não fornece um método para restringir o incremento de zoom. Devo dizer também que a implementação padrão do ver o mapa nas ligações do iPhone para melhor experiência do usuário, eu acho. Eu, pessoalmente, não gosto de aplicativos que limitam minhas capacidades sem uma boa razão.

Para responder à sua pergunta, porém, você pode controlar manualmente o zoom, desativando MKMapView.zoomEnabled propriedade. Então você pode expor um zoom botões que mudam a região do mapa mostrado, usando setRegion:animated:

Aqui está um código de exemplo sobre como ampliar o mapa:

-(void)zoomMap:(MKMapView *)map withLevelMultiple:(void)levelMultiplier {
  MKCoordinateRegion region = map.region;
  region.span.latitudeDelta /= levelMultiplier;
  region.span.longitudeDelta /= levelMultiplier;
  [map setRegion:region animated:YES];
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top