iphone联系人如何在谷歌地图中找到地址?

时间:2011-08-12 09:54:12

标签: iphone google-maps street-address

我试图在我的iphone应用中显示谷歌地图中的地址。 我试着用

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

谷歌地图找不到我们提供的一些地址。(一些日文或中文地址)但是如果我将地址保存到iPhone联系人。然后按下 联系人的地址链接。它将跳转到谷歌地图,虽然谷歌地图首先提醒“无法找到地址”,在我确认提醒消息后,另一个视图将显示谷歌地图中的位置或显示附近的地址。

所以iPhone的“联系”应用程序可能会使用其他api过滤地址字符串来查找地址或使用“模糊搜索”之王。

有人知道他们是如何实现的吗?

我非常感谢你的帮助。

1 个答案:

答案 0 :(得分: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地图中的图钉。

相关问题