2012-07-29 3 views
-1

나는 아이폰 앱에 google places API를 통해 mexican 음식, 스페인 음식, 태국 음식, 인도 음식과 같은 의미의 국가 별 요리 장소를 달성하려고합니다. 어떻게 할 수 있습니까 ?? 지원되는 유형을 볼 때 그 안에는 음식, 레스토랑 등만 있습니다. 내 응용 프로그램 충돌 쿼리를 아래와 같이 설정 | 레스토랑 | 내가이 쿼리를 사용할 때마다 나는 음식 같은 더 많은 종류를 추가하려고 할 때마다 외에 .. 국가 별 요리를위한 Google 장소를 어떻게 쿼리 할 수 ​​있습니까?

NSString *url = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=%@&type=restaurant&query=%@&sensor=true&key=%@", currentCentre.latitude, currentCentre.longitude, [NSString stringWithFormat:@"%i", currenDist], googleType, kGOOGLE_API_KEY]; 

나는 단지 몇 가지 결과를 얻고있다.

NSString *url = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=%@&type=food|restaurant|establishment&query=%@&sensor=true&key=%@", currentCentre.latitude, currentCentre.longitude, [NSString stringWithFormat:@"%i", currenDist], googleType, kGOOGLE_API_KEY]; 

제가이 오류로 인해 응용 프로그램이 다운되는 경우 URL에 문제가있을 수 있습니다.

* 의한 캐치되지 않는 예외 'NSInvalidArgumentException'응용 프로그램 종료, 이유는 '데이터 파라미터는 전무하다' * 우선 투사 호출 스택 (0x13be022 0x200fcd6 0x1366a48 0x13669b9 0xbadfad 0x2dd2 0x13bfe42 0xaa09df 0x139294f 0x12f5b43 0x12f5424 0x12f4d84 0x12f4c9b 0x15d47d8 0x15d488a 0x17a626 0x236d 0x22d5) 예외 (lldb)

사람이 나를 인도 할 수 바랍니다 던지는라고 종료? 나는 나의 모든 점을 분명히했으면 좋겠다.

감사 & 관련, Malhaar

답변

0

당신이 query 매개 변수를 사용하는 같은 장소 API에서 TextSearch를 사용하려고 나타납니다. 이 올바른 경우 올바른 백엔드 타격을 확인하십시오

maps.googleapis.com/maps/api/place/을 에서 TextSearch/JSON

또한

올바른을 사용하고 있는지 확인 매개 변수를 지정하는 유형 :

유형 = 음식 | 레스토랑 | 설립

,

documentation을 철저히 읽고 브라우저를 통해 몇 가지 test html requests을 수행하여 응용 프로그램에 연결하기 전에 올바른 요청을 받았는지 확인하는 것이 좋습니다.

0

거의 7 개월이나되었지만 해결되었거나 지금까지 포기 했음에도 불구하고 방금 같은 문제가 있었으며 해결이 필요했습니다. 비슷한 오류로 다른 사람을 도울 수있는 답을 여기에 넣으려고했다고 생각했습니다.

내가 발견 한 문제는 | 문자를 좋아하지 않는 URL 인코딩과 관련이 있습니다.

// Create an NSString with the URL which includes the '|' characters. 
NSString * urlString = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.189781,-114.488907&radius=6918&types=food|bar&keyword=&sensor=true&key=YOUR KEY HERE"; 

// Encode the URL 
NSString* encodedURLString = [urlString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 

// Covert to a NSURL 
NSURL *googleRequestURL=[NSURL URLWithString:encodedURLString]; 

그리고 다음 URL로 googleRequestURL를 사용

내가 찾은 주위 방법은 것이 었습니다.

잘하면 그게 당신을 위해 해결됩니다!

관련 문제