2012-02-27 3 views
5

xcodeを使用してGoogleのジオロケーションを実装しようとしています。 iは、緯度と経度でURLを通過するとき、それは次の結果iOSのGoogleのGEOLocationからのZERO_RESULTSレスポンスの取得。

<?xml version="1.0" encoding="UTF-8"?> 
<GeocodeResponse> 
<status>ZERO_RESULTS</status> 
</GeocodeResponse> 

を返ししかし、私はURLを直接参照します。正しい結果が得られます。 サンプルURL:http://maps.googleapis.com/maps/api/geocode/xml?latlng=68.56066,76.8803&sensor=true

coord.latitude = 68.56066; 
coord.longitude = 76.8803; 

NSString *urlStr = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/xml?latlng=%f,%f&sensor=true",coord.latitude,coord.longitude]; 
     NSURL *url = [NSURL URLWithString:urlStr]; 


    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 


    NSData *xmlData = [NSData dataWithContentsOfURL:url]; 

    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 
    NSString *str = [[NSString alloc]initWithData:xmlData encoding:NSUTF8StringEncoding]; 
     NSLog(@"XML Data is %@",str); 

私はXML結果を取得する必要があります。私のコードに問題はありますか?私はGoogleのサイトでZERO_RESULTSをチェックします。彼らはこのように言及しています..

ZERO_RESULTSは、検索が成功したが結果を返しなかったことを示します。これは、検索がリモートロケーションのlatlngを渡された場合に発生する可能性があります。

任意のアイデア...

答えて

0

Googleのジオロケーションサービスを取得したい場合は、あなたがアクセス用のキーを取得する必要があります。

あなたはログインのため、以下のURLに https://code.google.com/apis/console/

使用のユーザーのGmailアカウントを使用してアクセスキーを取得することができます。左側のサービスタグに移動し、apiをオンにすると、サーバー名にサーバー名を入力するよう求められます。私はhttp://facebook.comを与えました。その後、左側のAPIアクセスタグに移動します。有効なすべてのサービスが表示されます。ここでは、AIMjkUluYsB1G2t5u5p0IIQmsHgiga5F0-8cのようなAPIキーの外観を得ることができます。次のURLの最後のパラメータでそのキーを使用します。

XML応答: http://maps.google.com/maps/geo?output=xml&oe=utf-8&ll=latitude,logitiude&key=AddYourOwnKeyHere

JSONレスポンス http://maps.google.com/maps/geo?output=json&oe=utf-8&ll=latitude,logitiude&key=AddYourOwnKeyHere

例: http://maps.google.com/maps/geo?output=xml&oe=utf-8&ll=12.922499,77.639354&key=AIMjkUluYsB1G2t5u5p0IIQmsHgiga5F0-8c

例の鍵は、独自のキーを持つダミーone.Tryです。

私はアプリで試してみました。うまくいきます。