2011-08-29 55 views
1

我正在为iPhone使用Mapkit框架。我有城市名单和它的着名的地方,旅馆和餐馆。它正在地图上找到城市和着名的地方。但不包括旅馆和餐馆。在iPhone中查找具有核心位置的确切位置的问题

这里是我的代码:

- (CLLocationCoordinate2D) addressLocation { 
NSString *strRequest; double latitude = 0, longitude = 0; 

    CLLocationCoordinate2D center; 

    NSString *strAddress = [searchLocationField.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    NSLog(@"Search String:%@",searchLocationField.text); 

    strRequest = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", strAddress]; 

    NSString *strNewResult = [NSString stringWithContentsOfURL:[NSURL URLWithString:strRequest] encoding:NSUTF8StringEncoding error:NULL]; 

    NSLog(@"StrRequest :- '%@'",strNewResult); 

    NSArray *listItems = [strNewResult componentsSeparatedByString:@","]; 

    if([listItems count] == 4) 
    { 
     latitude = [[listItems objectAtIndex:2] doubleValue]; 
     longitude = [[listItems objectAtIndex:3] doubleValue]; 
    } 
    else 
    { 

     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning" 
                 message:@"Could Not Find Address" 
                 delegate:nil 
               cancelButtonTitle:@"ok" 
               otherButtonTitles:nil]; 
     [alert show]; 
     [alert release]; 
     } 

    center.latitude = latitude; 
    center.longitude = longitude; 

    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(center, 1000, 1000); 
    MKCoordinateRegion adjustRegion = [mapView regionThatFits:region]; 
    [mapView setRegion:adjustRegion animated:YES]; 
    return center; 
} 

有没有办法找到一个确切的位置

+0

您的服务请求是否为您的列表中的任何餐馆和酒店提供响应。 – iDroid

回答

1

您需要监视-didUpdateToLocation中的确切位置更改。只要[locationManager startUpdatingForLocation]正在运行,就会不断调用更新您的当前位置。

当你使用区域监控时,你只会得到2个事件,-didEnterRegion和-didExitRegion。根据你在做什么,区域监控可能不是这个应用程序的最佳工具。

+0

不,这不是我想要的..我找不到当前位置。我通过在地图视图中搜索其名称来查找任何酒店的位置 – iProgrammer