如何正确地传递mkcoordinaterregion给函数



我想将MKCoordinateRegion传递给一个函数,该函数反过来将其发送到服务器进行分析。

然而,由于语法错误Expected a type,我无法将其传递给函数。

我猜这是因为MKCoordinateRegionC结构,C结构不能作为参数传递给Objective-C的方法。

将此信息作为单个变量传递给方法的正确方法是什么?

谢谢。//


更新:
我找到解决办法了。由于某些原因,xcode无法识别特定.h文件的依赖关系。我必须将#import <MapKit/MapKit.h>放在.h文件中,尽管它已经在前缀中指定了。PSH和它被识别并在其他文件中使用…可能是xcode的bug…

也许你在键入mkcoordinaterregion后加了星号?下面的代码是:

- (void)setRegion
{
    MKCoordinateRegion region;
    region.center.latitude = self.latitudeFromServer;
    region.center.longitude = self.longitudeFromServer;
    region.span.latitudeDelta = 0.112872;
    region.span.longitudeDelta = 0.112872;
    [self sendRegion:region]; //sending to method!
}   
- (void)sendRegion:(MKCoordinateRegion)region
{
    NSLog(@"upload region to server");
}

我使用NSData将mkcoordinatereregion传递给委托方法,所有工作都很好(也做类似于传递MKMapRect)

转换为NSData:

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(mapPointLoc, 2000, 2000);
NSData *data = [NSData dataWithBytes:&region length:sizeof(MKCoordinateRegion)];
[self.delegate mapViewUpdateRegion:data];

和读取NSData:

- (void)mapViewUpdateRegion:(NSData *)regionData{
    MKCoordinateRegion region;
    [regionData getBytes:&region];
    [self.mapView setRegion:region animated:YES];
}

相关内容

  • 没有找到相关文章

最新更新