我们可以使用'发布通知'位置更新,以绘制谷歌地图上的当前位置?或者更好的方式来实现除此之外的其他方式?虽然我不希望将KVO用于@" Mylocations"在谷歌地图。
在LocationTracker.m
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
for(int i=0;i<locations.count;i++)
{
CLLocation * newLocation = [locations objectAtIndex:i];
CLLocationCoordinate2D theLocation = newLocation.coordinate;
CLLocationAccuracy theAccuracy = newLocation.horizontalAccuracy;
[PlacesDetails sharedInstance].theLocation=theLocation;
if(newLocation != nil && (!(theLocation.latitude == 0.0 && theLocation.longitude == 0.0)))
{
self.myLastLocation = theLocation;
self.myLastLocationAccuracy= theAccuracy;
// Below implemented the post notification
[[NSNotificationCenter defaultCenter] postNotificationName:@"updateLocation" object:nil];
}
}
}
在ViewController.m中
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateGMSCameraPostition) name:@"updateLocation"
object:nil];
}
-(void)updateGMSCameraPostition
{
NSLog(@"CALLED UPDATELOCATION OBSERVER");
mapView_.camera = [GMSCameraPosition cameraWithTarget:[PlacesDetails sharedInstance].theLocation
zoom:14];}
答案 0 :(得分:1)
科班, 这主要取决于您如何设计应用程序。您可以使用不同的模式。
对于块,您可以查看这些链接。
我认为它可能对你有所帮助。