Google은 위도와 경도를 구하기 위해 주소를 사용하고 있습니다. 나는 약 60-65 주소를 달린다. 매번 무작위로 5 또는 6을 얻고 0,0 좌표 쌍을 반환합니다.위도와 경도 찾기 0
실패 할 인덱스가 다를 때마다 주소 문제가 아닌 것으로 확신합니다. 여기
내가 돌아 사용하고있는 코드입니다 위도 긴그것은 아마도 내가 for 루프 내부에서이 메서드를 호출하고 있음을 수 있을까요? 어쩌면 그것을 너무 빨리 반복해서 불러내 어 가끔씩 괴롭 히게할까요?
-(CLLocationCoordinate2D)addressLocation:(NSString*)_address city:(NSString*)_city state:(NSString*)_state {
NSString *temp = [NSString stringWithFormat:@"%@, %@, %@", _address, _city, _state];
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", [temp stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSError* error = nil;
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString ] encoding:NSASCIIStringEncoding error:&error];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
double latitude = 0.0;
double longitude = 0.0;
if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
latitude = [[listItems objectAtIndex:2] doubleValue];
longitude = [[listItems objectAtIndex:3] doubleValue];
}
else {
NSLog(@"Error: %@", [error description]);;
}
CLLocationCoordinate2D location;
location.latitude = latitude;
location.longitude = longitude;
return location;
}
나는 순간 주위에 작품을 발견
편집하는 경우 다른 사람이에 문제가있는 경우.
각 주소의 위도와 경도를 한 번 찾아 내 목록을 확인합니다.
Google 검색어에서 오류가 발생하는 경우 해당 주소를 보유 배열에 추가합니다. 내가 Firoze에서 언급 한 요율 제한을 통과했다는 의미.
처음 실행을 완료 한 후, 홀딩 배열을 살펴보고 각 주소의 위치를 찾습니다.
나는 훨씬 더 깨끗한 구현이 있다고 확신하지만 비즈니스 라이센스를 얻을 수없는 사람에게는 해킹 된 방법입니다. 난이 도움이되기를 바랍니다
, 코리
당신은 locationString이 전무가 있는지 확인해야합니다
Google은이 서비스의 사용 방식에 엄격한 제한을두고 있으며 악용 사례를 감지하고 일시적으로 (또는 영구적으로) 악용 사례를 차단하기 위해 알고리즘을 지속적으로 업데이트하고 있습니다. 시스템을 느리게 할 수는 있지만 내일이면 작동을 멈출 수 있습니다. 아마도 의도 한 용도로 서비스를 사용하지 않고 다른 주소 검색 서비스를 찾아야합니다. –
의견이 있으십니까? – random
변경 사항을 제안 하시겠습니까? 아마 당신이 제한 속도를 감지하고 나서 조회를 계속하기 전에 몇 초를 기다리십시오. 또는 제안 된 대체 서비스를 의미하는 경우 "비즈니스 용 Google Maps API"서비스가 귀하에게 적합 할 것입니다. 또는 openstreetmap.org 데이터베이스를 자신의 서버에 다운로드하고 자신의 지오 코딩을 수행 할 수 있습니다. –