2

Google ジオコーディングを使用して、場所の緯度経度と名前のリストを検索したいのですが、これを iPhone で使用した経験はありませんが、Android では URL を呼び出すだけです。しかし、iPhoneで同じことをしようとすると、「リクエストが拒否されました」というエラーが表示されます。これをiPhoneに統合する方法を教えてください。または、BSForwardGeocoderなどのライブラリを使用する必要があります。これを行っていました

NSString *url = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=%@&sensor=true", locationString];
url = [url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

NSURL *wurl = [NSURL URLWithString:url];
NSDictionary *dict =  [Json objectWithUrl:wurl];
NSLog(@"%@", dict);

そして、それは次のように印刷されます

{
results =     (
);
status = "REQUEST_DENIED";
}
4

3 に答える 3

2

これをチェックして

NSString *locationString = @"1600 Amphitheatre Parkway, Mountain View, CA";
NSString *url = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=%@&sensor=true", locationString];
url = [url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

NSURL *wurl = [NSURL URLWithString:url];
NSData *data = [NSData dataWithContentsOfURL: wurl];

// Fail to get data from server
if (nil == data) {

    NSLog(@"Error: Fail to get data");
}
else{
    // Parse the json data
    NSError *error;
    NSDictionary *json = [NSJSONSerialization
                          JSONObjectWithData:data
                          options:kNilOptions
                          error:&error];

    // Check status of result
    NSString *resultStatus = [json valueForKey:@"status"];

    // If responce is valid
    if ( (nil == error) && [resultStatus isEqualToString:@"OK"] ) {

        NSLog(@"%@", json);
    }
}


参考:Google Geocoding API

于 2013-05-14T10:20:40.987 に答える
0

秘密鍵を登録し、それをリクエストのパラメーターとして使用する必要があります。

于 2013-05-14T09:41:17.277 に答える