2011-08-12 10 views
0

私は自分のiPhoneアプリでGoogleマップのアドレスを表示しようとしていました。 私は。私たちが提供するいくつかのアドレスを見つけることができませんiphone連絡先がGoogleマップのアドレスを見つける方法

NSString * theAddressString =......; 
NSString * query = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@",theAddressString]; 
NSString * urlString = [query stringByAddingPercetntEscapesUsingEncoding:NSUTF8StringEncoding]; 
[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]; 

のGoogleマップを使用しようとした(一部日本語や中国語アドレス)しかし、私はiPhoneの連絡先にアドレスを保存した場合。そして連絡先のアドレスリンク を押した。それは、私は警告メッセージを確認した後、別のビューは、Googleマップ内の場所を表示するか、近くにアドレスを表示する "Googleマップの最初の警告は、"アドレスを見つけることができません警告したが、Googleマップにジャンプします。

iPhoneの「連絡先」アプリでは、アドレス文字列をフィルタリングしてアドレスを検索したり、「ファジー検索」の王様を使用したりすることがあります。

誰でも知っていますか?

本当にありがとうございます。

答えて

0

次のいずれかを試してみて、解決策のステータスを教えてください。ギブ・アドレスを持つ

NSString * theAddressString =......; 
    NSString *latlong = [[myLatitude stringByAppendingString:@","]stringByAppendingString:myLongitude]; 
    NSString * query = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%@",[theAddressString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    //NSString * urlString = [query stringByAddingPercetntEscapesUsingEncoding:NSUTF8StringEncoding]; 
    [UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]; 

新しいコード:

NSString *theAddressString = @"東村山市野口町1-3-49 アマドムス 102, 東京都, 日本"; 
    NSString *urlString=[NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv",[theAddressString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]]; 
    NSArray *listItems = [locationString componentsSeparatedByString:@","]; 
    float latitude=0.0; 
    float 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");   
    } 
    NSString *myLatitude = [NSString stringWithFormat:@"%f",latitude]; 
    NSString *myLongitude = [NSString stringWithFormat:@"%f",longitude]; 
    NSString *latlong = [[myLatitude stringByAppendingString:@","]stringByAppendingString:myLongitude]; 
    NSString * query = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%@",[theAddressString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:query]]; 

私はグーグルマップでクエリ文字列をチェックして、それが私のGoogleマップでピンを示しています。

+0

Googleマップでもアドレスが表示されませんでした。 私はGoogleマップの文字列をチェックします。これは、iPhoneの連絡先のアドレスを押したときと同じです。 – binzhang

+0

アドレスを指定して緯度と経度を渡す必要があるので、コードをもう一度確認してください。 –

+0

ありがとう、しかし、私は緯度と経度を提供していない入力アドレス文字列を処理する必要があります。 – binzhang

関連する問題