目标C:如果我使用Forward GeoCoding(Google API),我可以为我的应用收取费用吗?

时间:2011-05-09 04:20:12

标签: objective-c ios mapkit geocoding

在我的应用程序中,我打算使用前向GeoCoding来允许用户在搜索栏中输入地址,然后在地图上放置标记。

我可以仔细检查以下方法是否适用于我打算做的事情吗?

-(CLLocationCoordinate2D) addressLocation {
    NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
                       [searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    //NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
    NSError* error;
    NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error];
    NSArray *listItems = [locationString componentsSeparatedByString:@","];

    double latitude = 0.0;
    double longitude = 0.0;

    if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
        latitude = [[listItems objectAtIndex:2] doubleValue];
        longitude = [[listItems objectAtIndex:3] doubleValue];
    }
    else {
        //Show error
    }
    CLLocationCoordinate2D location;
    location.latitude = latitude;
    location.longitude = longitude;

    return location;
}

我将调用上述方法来获取纬度和经度,然后相应地在地图上添加注释。我是否需要为此注册APIKey?如果是的话,我在哪里可以包含它,在这种情况下我仍可以为我的应用收取费用吗?

谢谢!

Zhen Hoe

1 个答案:

答案 0 :(得分:3)

虽然api中包含反向地理编码,但正常的地理编码不是,并且需要Google的许可。可悲的是,我可以告诉你这也不便宜,每年大约8,000英镑以上,具体取决于音量。

另一种方法是使用免费的地理编码服务,只需谷歌它,你会发现一些。此外,其他地图服务提供商(如CloudMade)只需花费一小部分费用即可完成类似工作...... CloudMade