https://github.com/1992chenlu/CLLocationManagerDemo
(1)开始以为很好用(但实际上还没有拿来抄的水平)的CLLocationManager的demo:
https://github.com/alienjun/CLLocationManager-iOS8
(2)真正可抄的Map + locationManager的代码(感觉代码很简洁):
http://stackoverflow.com/questions/25848125/ios-8-mkmapview-user-location-request-failure
上面这个链接里的代码唯一的问题是少了一句这个(不加这一句的话,那个叫做didUpdateLocations的回调函数是不会被调用的)
[self.locationManager startUpdatingLocation];
(3)加Marker,抄的下面这个链接Marker部分的代码:
http://www.appcoda.com/ios-programming-101-drop-a-pin-on-map-with-mapkit-api/
// 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];
另外,关于清空Marker:
[mapView removeAnnotations:mapView.annotations];
(4)用NSTimer实现每隔1秒钟向控制台输出一次当前位置:
NSTimer的资料:
http://stackoverflow.com/questions/6152963/how-to-display-seconds-using-nstimer
初始化一个这样的NSTimer变量:
_timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
再写一下这个函数里面:
- (void)timerFireMethod:(NSTimer*)theTimer {
//remove a second from the display
NSLog(@"Latitude:%f Longitude:%f", self.locationManager.location.coordinate.latitude, self.locationManager.location.coordinate.longitude);
}
就可以实现一秒钟输出一次当前的坐标了。
(5)给一个坐标,用Geocoder的reverseGeocodeLocation把它转换成对应的地址。
没有评论:
发表评论