0

我有一个应用程序可以从数据库中获取所有数据并将其绘制在地图上。目前它绘制了我所在城市的所有内容。因此,在打开时,它以我的设备位置为中心,并在 CoreData 中绘制所有位置。但是 COreData 有来自不同城市的位置。

所以目前该应用程序以迈阿密为中心,我可以看到迈阿密的位置。如果我开车去纽约,它当然会以我为中心并绘制这些位置,但它也会绘制迈阿密的位置,即使我在地图上看不到它们。

但是,如果我希望用户能够选择他/她当前不在的城市,并将地图中心放在该点并绘制其位置,我如何从用户选择的城市(字符串)到实际协调?

4

1 回答 1

0

您可以使用地理编码器

根据这些键制作地址字典 - 城市、街道、国家、邮政编码、州 - 如果你只想要城市制作这样的字典

NSDictionary *addressDictionary = [[NSDictionary alloc]initWithObjectsAndKeys:@"Miami",@"City", nil];

添加 CoreLocation.framework 并导入 #import

使用以下代码查找位置 -

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressDictionary:addressDictionary completionHandler:^(NSArray *placemarks, NSError *error) {
  if([placemarks count]) {
    CLPlacemark *placemark = [placemarks objectAtIndex:0];
    CLLocation *location = placemark.location;
    CLLocationCoordinate2D coordinate = location.coordinate;
    [self.googleMap animateToLocation:coordinate];
于 2013-05-10T22:08:57.063 回答