2015-02-03 2 views
-3

내 mapView에서 위치 이름과 핀 포인트로 표시하고 싶습니다. 여러 가지 방법을 시도했지만 그 중 아무 것도 도움이되지 않습니다. 그리고 나는이 자리에 머물러있다. 나는이 코드 조각을 사용하고 :MapView에서 핀 포인트로 위치 이름을 표시하는 방법

-(void)getMe:(id)sender 
{ 
[self.view endEditing:YES]; 
NSString *addresss = userText.text; 
NSString *esc_addr = [addresss stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; 
NSString *req = [NSString stringWithFormat: @"http://maps.google.com/maps/api/geocode/json?sensor=false&address=%@", esc_addr]; 

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:req]]; 


NSDictionary *googleResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

NSDictionary *resultsDict = [googleResponse valueForKey: @"results"]; // get the results dictionary 
NSDictionary *geometryDict = [ resultsDict valueForKey: @"geometry"]; // geometry dictionary within the results dictionary 
NSDictionary *locationDict = [ geometryDict valueForKey: @"location"]; // location dictionary within the geometry dictionary 

// nslo (@”– returning latitude & longitude from google –”); 

NSArray *latArray = [locationDict valueForKey: @"lat"]; NSString *latString = [latArray lastObject];  // (one element) array entries provided by the json parser 
NSArray *lngArray = [locationDict valueForKey: @"lng"]; NSString *lngString = [lngArray lastObject];  // (one element) array entries provided by the json parser 

myLocation.latitude = [latString doubleValue];  // the json parser uses NSArrays which don’t support “doubleValue” 
myLocation.longitude = [lngString doubleValue]; 

CLLocationCoordinate2D zoomLocation; 
zoomLocation.latitude = myLocation.latitude; 
zoomLocation.longitude=myLocation.longitude; 

// 2 
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*1500, 0.5*1500); 

MKPointAnnotation *point = [[MKPointAnnotation alloc] init]; 
CLLocationCoordinate2D coordinates; 
coordinates.latitude = myLocation.latitude; 
coordinates.longitude=myLocation.longitude; 
point.coordinate =coordinates; 
point.title = @"My Location"; 
point.subtitle = @"Reached"; 

[mp addAnnotation:point]; 
// 3 
[mp setRegion:viewRegion animated:YES]; 
} 

융점이 출력에 geting하고 Outlet.I 내지도보기이다 :

Currently i am getting this output:

하지만 핀 위치 타이틀을 원한다. 이것을 달성하기 위해 내가 할 수있는 일은 무엇입니까?

+0

코드가 있습니까? 어떤 종류의지도를 사용하고 있습니까? 어떤 시도라도 해봤습니까? – tung

+0

xcode 기본 farmwork mapkit을 사용하고 있습니다. 현재 현재 위치를 찾을 수만 있습니다. 하지만 원하는 위치를 검색하는 쿼리를 만드는 방법 – Dalvik

+0

@tung 당신이 도울 수 있습니까? – Dalvik

답변

1
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 
{ 
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.coordinate, 800, 800); 
[self.mapView setRegion:[self.mapView regionThatFits:region] animated:YES]; 

// Add an annotation 
MKPointAnnotation *point = [[MKPointAnnotation alloc] init]; 
point.coordinate = userLocation.coordinate; 
point.title = @"Where am I?"; 
point.subtitle = @"I'm here!!!"; 

[self.mapView addAnnotation:point]; 
}