我试图在我的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过滤地址字符串来查找地址或使用“模糊搜索”之王。
有人知道他们是如何实现的吗?
我非常感谢你的帮助。
答案 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地图中的图钉。