我创建了一个UITextView并设置了text = @“中国,浙江省杭州市滨江区”, set dataDetectorTypes = UIDataDetectorTypeAddress, 然后,长按,选择打开地图,它可以在GoogleMap中找到地址。
但是,同样的地址,我用openUrl找不到地址。
NSString *urlText = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlText]];
任何能告诉我原因的人?或iOS不使用此网址(http://maps.google.com/maps?q=%@)
答案 0 :(得分:0)
您会尝试使用其他编码吗?例如,UnicodeString编码
NSString *urlText = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", [address stringByAddingPercentEscapesUsingEncoding:NSUnicodeStringEncoding]];
的结果是什么?
[address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
答案 1 :(得分:0)
谷歌地图http://调用不使用%分隔符,而是+。
NSString *fixedAddress = [fullAddress stringByReplacingOccurencesOfString:@" " withString:@"+"];
NSString *googleCall = @"http://maps.google.com/maps?q=";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[googleCall stringByAppendingString:fixedAddress]]];
我,我自己遇到了这个问题,并在昨晚使用前面的代码修复了它。