![](/img/trans.png)
[英]after launching StartUpdatingLocation (), run another method - every time the location is updated
[英]Displaying multiple annotations when location is updated using startUpdatingLocation
当用户移动时,如果更新用户位置,我的mapView将显示用户注释的数量。 我想知道userAnnotaion如何仅在更改用户位置时显示一次。
[self.myMapview removeAnnotation:userAnnotation]; 不管用
-(void) viewDidLoad
{
[super viewDidLoad];
[locationManager startUpdatingLocation];
}
-(void) checkLongLatitudeAgain {
[locationManager startUpdatingLocation];
}
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
userlat=self.lastLocation.coordinate.latitude;
userlong=self.lastLocation.coordinate.longitude;
CLLocationCoordinate2D userCord =
{userlat, userlong};
Pins *userAnnotation =
[[Pins alloc] initWithCoordinate:userCord];
[userAnnotation setTypeOfAnnotation:CUR_ANNOTATION];
if (newLocation.coordinate.latitude != self.lastLocation.coordinate.latitude &&
newLocation.coordinate.longitude != self.lastLocation.coordinate.longitude) {
[self.myMapView removeAnnotation:userAnnotation];
self.lastLocation = newLocation;
userlat=self.lastLocation.coordinate.latitude;
userlong=self.lastLocation.coordinate.longitude;
CLLocationCoordinate2D userCord =
{userlat, userlong};
Pins *userAnnotation =
[[Pins alloc] initWithCoordinate:userCord];
[userAnnotation setTypeOfAnnotation:CUR_ANNOTATION];
[self.myMapView addAnnotation:userAnnotation];
}
}
将annotation
设为全局变量,然后在didUpdateLocation:
更新其坐标didUpdateLocation:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.