2011-12-20 3 views
1

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이 전무가 있는지 확인해야합니다
+0

Google은이 서비스의 사용 방식에 엄격한 제한을두고 있으며 악용 사례를 감지하고 일시적으로 (또는 영구적으로) 악용 사례를 차단하기 위해 알고리즘을 지속적으로 업데이트하고 있습니다. 시스템을 느리게 할 수는 있지만 내일이면 작동을 멈출 수 있습니다. 아마도 의도 한 용도로 서비스를 사용하지 않고 다른 주소 검색 서비스를 찾아야합니다. –

+0

의견이 있으십니까? – random

+0

변경 사항을 제안 하시겠습니까? 아마 당신이 제한 속도를 감지하고 나서 조회를 계속하기 전에 몇 초를 기다리십시오. 또는 제안 된 대체 서비스를 의미하는 경우 "비즈니스 용 Google Maps API"서비스가 귀하에게 적합 할 것입니다. 또는 openstreetmap.org 데이터베이스를 자신의 서버에 다운로드하고 자신의 지오 코딩을 수행 할 수 있습니다. –

답변

2

. 그렇다면 오류를 살펴보십시오. 내 생각 엔 당신 전화가 속도가 제한되고있는 것 같습니다.

이 서비스에 대한 Google의 서비스 약관을 살펴보아야합니다.

+0

나는 그들이 주변의 어쨌든 속도가 제한되고 있다고 생각합니까? 나는 주소 목록을 가지고 있으며, 나는 가장 가까운 것을 결정할 필요가있다. 거리를 결정하기 위해 위치 좌표를 찾는 다른 방법은 없습니다. – random

+0

글쎄, 그것은 당신의 어플리케이션이 무엇을 하느냐에 달려 있습니다. 이것은 기술적 인 문제보다 비즈니스 문제에 더 가깝습니다.특정 사용 사례에 필요한 라이선스/계약을 Google에서 결정할 수 있도록 도와 드리겠습니다. 포럼을 확인하려면 다음 링크를 클릭하십시오. http://code.google.com/apis/maps/documentation/premier/ –

+0

나는 그것을 살펴 봤지만 사업 면허증이 17,000 달러가 부족하다는 점을 염려합니다. 다른 서비스 인 Firoze에 대한 의견이 있으십니까? – random