2009-10-29 5 views
4

"식료품 점"과 같은 업체를 검색하고 사용자의 현재 위치를 Google지도에 표시하는 방법을 찾고 있습니다. 애플 맵 위치를 시작하는 이전 URL 스타일을 사용하면 꽤 간단하지만 이전에는 MKMapView를 사용하여이를 수행하는 방법을 찾을 수 없었습니다. MKAnnotations 클래스를 사용해야하지만 내 문제는 데이터를 찾는 것임을 이해합니다. 나는 아래의 URL을 구글에서 정보를 얻기 위해 연결했지만 데이터의 크기가 너무 큰 것 같습니다.MKMapView에서 사업장 위치 검색 및 표시

http://maps.google.com/maps?q=grocery&mrt=yp&sll=37.769561,-122.412844&z=14&output=kml

단지 키워드를 검색하고 내 현재 위치 주변에 일치하는 모든 사업을 표시하려면 MKMapView를 알려주는 속성을 설정하는 쉬운 방법이 있나요? 또는 누구든지 Google에서이 정보를 얻는 방법을 알고 있습니까?

답변

6

해당 검색에서 반환 된 KML 파일에는 많은 정보가 있습니다. MKMapView 구글을 조회 할 수있는 방법이 없습니다, 그래서 당신은 선택의 몇 가지있다 :

  1. 사용하면 NSXMLParser와 해당 쿼리에서 얻는 데이터를 만 아마 (당신이 관심있는 일을 추출 제목, 위도, 경도). KML은 XML의 단순한 버전입니다.

  2. 가벼운 데이터 형식을 제공하는 전화를 찾으려면 Google 문서를 살펴보십시오. 귀하는 귀하의 URL에서 json으로 형식을 변경할 수 있지만 그 정보는 동일합니다.

파일의 크기는 약 50KB입니다. 내 경험에 따르면, 50KB XML 파일을 다운로드하고 파싱하는 작업은 3G에서 약 5 초가 걸립니다.

편집

:

많은 사람들이 JSON을 통해 아이폰과 웹 서비스에서 데이터를 전송 : 그냥 당신이 관심이 될 줄 알았는데,이를 발견했다. XML을 사용하는 것보다 훨씬 좋은 방법입니다. 아이폰에서 XML을 파싱하는 것은 간단하다. 지나치게 복잡하고 혼란 스럽습니다. 현재 유 버전 응용 프로그램 인 Bible은 JSON을 사용하여 서버에서 모든 것을 앞뒤로 전송합니다.

정말 선택하지 않으면 적어도 JSON을 사용하십시오.

http://maps.google.com/maps?q=grocery&mrt=yp&sll=37.769561,-122.412844&z=14&output=json

또 다른 : http://samsoff.es/post/iphone-plist-tutorial/

당신은이에 대한 요청 문자열을 변경하여 JSON을 얻을 수 있습니다 : 여기가 현재 여기에서 http://code.google.com/p/json-framework/

을 사용하여 JSON을위한 좋은 라이브러리입니다 수정

다른 J가 있습니다. Touch JSON이라고 불리는 SON 라이브러리. 나는 이것을 사용했고 구현하기가 쉽다.json으로 파서 http://code.google.com/p/json-framework/ 더 나은 (다른 URL과 API 작업의 http://code.google.com/apis/maps/documentation/geocoding/

json으로 응답 :

https://github.com/acf/TouchJSON

1

오히려 maps?q= 문자열을 사용하는 것보다, 여기에 공식 API를 사용하는 것이 좋습니다 호환되는 JSON을 반환하지 않으며 표준 API가 아니기 때문에 변경 될 수 있습니다.