在iPhone上使用地理编码检查地址的有效性

在iPhone上使用地理编码检查地址的有效性,iphone,objective-c,ios,google-maps,geolocation,Iphone,Objective C,Ios,Google Maps,Geolocation,我有一个应用程序,提示用户输入地址。有没有办法通过谷歌地图或Places API检查地址是否有效?任何帮助都将不胜感激。我知道这是一个模糊的问题,但我真的不知道如何用其他方式问它。消除95%垃圾邮件的一个快速方法是让我的公司有一份美国州名和邮政编码的名单。如果邮政编码和州不匹配,我们会让用户再次检查 一点也不简单,但如果垃圾邮件发送者是问题所在,这可能会有所帮助 NSString *urlString = [NSString stringWithFormat:@"http://maps.goog

我有一个应用程序,提示用户输入地址。有没有办法通过谷歌地图或Places API检查地址是否有效?任何帮助都将不胜感激。我知道这是一个模糊的问题,但我真的不知道如何用其他方式问它。

消除95%垃圾邮件的一个快速方法是让我的公司有一份美国州名和邮政编码的名单。如果邮政编码和州不匹配,我们会让用户再次检查

一点也不简单,但如果垃圾邮件发送者是问题所在,这可能会有所帮助

NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
                       [addressField.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; // addressField is where you enter your address.
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSUTF8StringEncoding error:nil];
NSArray *listItems = [locationString componentsSeparatedByString:@","];

if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
    latitude = [[listItems objectAtIndex:2] doubleValue];
    longitude = [[listItems objectAtIndex:3] doubleValue];

若地址存在,你们将得到纬度和经度的坐标。希望这能有所帮助。

如果你的用户不是像世界上大多数人那样都在美国,那该怎么办?Matti,美国以外的地区都有邮政编码,欧盟的大部分地区都有邮政编码,中国、日本和俄罗斯也有。但是如上所述,解决方案并不完美,但可以作为一个介绍步骤,以避免最糟糕的条目:)