Atualmente estou trabalhando com o mapkit e estou preso.
Estou usando uma visualização de anotação personalizada e desejo usar a propriedade image para exibir o ponto no mapa com meu próprio ícone. Eu tenho isso funcionando bem. Mas o que eu também gostaria de fazer é substituir a visualização de texto explicativo padrão (a bolha que aparece com o título / subtítulo quando o ícone de anotação é tocado). Eu quero ser capaz de controlar o texto explicativo em si: o mapkit fornece acesso apenas às visualizações de texto explicativo auxiliares esquerda e direita, mas nenhuma maneira de fornecer uma visualização personalizada para o balão de texto explicativo, ou dar a ele tamanho zero, ou qualquer outra coisa.
Minha ideia era substituir selectAnnotation / deselectAnnotation em my MKMapViewDelegate
e, em seguida, desenhar minha própria visualização personalizada fazendo uma chamada para minha visualização de anotação personalizada. Isso funciona, mas apenas quando canShowCallout
está definido como YES
na minha classe de visualização de anotação personalizada. Esses métodos NÃO são chamados se eu tiver definido como NO
(que é o que eu quero, para que o balão de texto explicativo padrão não seja desenhado). Portanto, não tenho como saber se o usuário tocou em meu ponto no mapa (o selecionou) ou tocou em um ponto que não faz parte de minhas visualizações de anotação (o excluiu) sem que a visualização de bolha de texto explicativo padrão apareça.
Tentei seguir um caminho diferente e apenas lidar com todos os eventos de toque no mapa, e não consigo fazer isso funcionar. Eu li outras postagens relacionadas à captura de eventos de toque na visualização do mapa, mas não são exatamente o que eu quero. Existe uma maneira de explorar a visualização do mapa para remover o balão de texto explicativo antes de desenhar? Estou perdida.
Alguma sugestão? Estou perdendo algo óbvio?