2012-06-18 3 views
0

iOS Mapkit 프레임 워크와 일부 코드를 활용하여지도에 맞춤 주석을 만드는 응용 프로그램을 만들고 있습니다.MapKit iOS Pins Grabbing Focus

내가 추가중인 핀은 다운로드가 완료되면 추가되고 추가됩니다 (꽤 표준적인 방법 임).

첫 번째로드시 초점을 맞춘 사용자의 현재 위치도 표시합니다.

그러나 문제가 발생하는 이유는 무엇인지 모르겠습니다. 내지도가 주석과 함께로드되면 모든 것이 잘되고 예상대로 작동합니다. 그러나 맵 핀이 이상한 문제가 있음을 보여 주면서 포커스는 맵 핀에 주어지며 맵에서 줌을 시작하면 다른 핀들이 포커스를 얻습니다.

이 문제는지도에서 특정 지점까지 확대/축소하고 싶다면 이상하게도 다른 대륙에있을 수있는 핀 중 하나에 뛰어 들었음을 의미합니다.

핀에서 포커스를 제거 할 수 있는지 (또는 원하는 것인지) 또는 비슷한 문제가 있었고 수정 방법을 알고 있는지 여부가 확실하지 않습니다.

죄송합니다 계속 진행할 정보가 많지 않지만 오류가있는 위치를 알고 있습니다.

이 더 많은 정보 함께

편집

몇 시간이 아래에 제공되는 소스를 찾으려고 노력 후에 나타납니다 ....

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views

... 때 새 주석이 온다 볼 수 있습니다. 하지만 줌을 잡는 주석을 멈추는 방법을 찾을 수는 없습니다.

+0

didAddAnnotationViews 어떤 코드 viewforAnnotation 방법의 핀의 장애인 사용자 상호 작용하려고? – Anna

+0

완전히 비어 있습니다. 이것이 문제인지 여부를 확인하기 위해 모든 것을 삭제합니다. 그것은 차이를 만들지 않았다. NSLOG를 거기에 추가했는데 동시에 점프가 발생하는 것처럼 보입니다.하지만 이것이 실제로 문제를 일으키는 것은 아닙니다. – slaterjohn

답변

0

핀에 대해 사용자 상호 작용을 사용하는 것이 문제입니다.

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { 

if (annotation.isKind(of: AnnotationModal.self)) { 
      let anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 

anView.isDraggable = false 
anView.isEnabled = false 
anView.isUserInteractionEnabled = false 

} 

}