2017-01-23 6 views
0

Apple지도 MKMapKit 검색 위치가 MKLocalSearch를 사용하여 제대로 작동하지 않습니다.iOS - Apple지도 MKMapKit 검색 위치가 제대로 작동하지 않습니다.

사용자가 입력을 입력 할 수있는 위치 검색 기능을 제공해야하며 앱이 일치하는 결과를 제안하고 사용자가지도보기에 표시하고 선택한 결과에서 가져온 위치에서 주소 세부 정보를 가져올 수 있도록 그 중 하나를 선택할 수 있습니다. 기입.

현재 MKLocalSearch 요청 결과는 때때로 "loadingThrottled"오류 코드 를 제공 우리는 새로운 검색 문자로 이전 요청을 취소 되더라도 입력.

또한 MKLocalSearch는 검색된 문자열에 대해 10 개의 결과 만 제공합니다.

이 위치 검색 기능을 향상시키고 더 나은 방법으로 자동 완성 기능을 제공 할 수있는 방법이 있습니까? 사과 문서에 따르면

: 응용 프로그램 또는 개발자 ID 당 더 요청 제한, 아무런 문제가 발생하지해야 제대로 작동 너무 잘 작성된 애플리케이션이 없습니다

. 그러나 매우 많은 요청을 생성하는 잘못 작성된 응용 프로그램에서 제한이 발생할 수 있습니다. https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/EnablingSearch/EnablingSearch.html

답변

0

당신은 자동 완성 제안을 검색 할 수 MKLocalSearchCompleter를 사용해야합니다. MKLocalSearch에 비해 가장 관련성이 높은 결과를 제공합니다.

MKLocalSearchCompleter 개체는 부분 검색 문자열을 사용하여 잠재적 완성 목록을 생성합니다. 검색 완성 객체를 사용하여 자신의지도 기반 검색 컨트롤에 대한 자동 완성 제안을 검색합니다.

장점 :

  • 이 MKLocalSearch에 비해 가장 관련성이 높은 결과를 제공합니다.
  • 위치 필터 (MKSearchCompletionFilterType)를 사용할 수 있습니다.
  • "loadingThrottled"오류가 발생할 가능성이 적습니다.
  • 약은 최대 15 개 결과를 제공합니다 (지금까지 내 경험을 바탕으로.)

제한 :.

  • MKLocalSearchComplete 응답의 위치를 ​​제공하지 만 위치 이름 & 주소를 제공합니다. (당신이 위치를 원하는 경우에 당신은 더 많은 위치 정보를 얻을 것이다 MKLocalSearch 개체 &을 만들 필요가보다.)

사용자 유형의 텍스트로서, 당신은 가능한 문자열을 제공하는 검색 completer 객체에 현재의 텍스트 문자열을 공급 위치 또는 관심 지점과 일치하는 완료그런 다음 완벽하게 구성된 검색 완료 개체를 사용하여 MKLocalSearch 개체를 만들고 지리적 위치에 대한 자세한 정보를 검색합니다.

참조 :Apple API Reference: MKLocalSearchCompleter