具有EKCalendarItem
属性“位置”,但它是一个NSString
. 新的 iOS8 功能显示了一个很好的事件地图,所以必须有一个CLLocationCoordinate2D
附加到EKCalendarItem
,对吗?我在哪里可以找到这个CLLocationCoordinate2D
?
问问题
1341 次
2 回答
5
这应该得到你需要的:
for (EKEvent *calEvent in self.allMyEvents) {
EKStructuredLocation *location = (EKStructuredLocation *)[calEvent valueForKey:@"structuredLocation"];
if (location) {
}
}
于 2015-03-20T01:00:12.723 回答
0
EKCalendarItem
不包含它具有location
的任何 CLLocationCoordinate2D 属性,NSString
正如您在问题中提到的那样。
您可以使用location
属性来获取坐标。您可以使用CoreLocation
框架的 CLGeocoder
.
您可以使用此代码。
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:locationString completionHandler:^(NSArray *placemarks, NSError *error) {
if([placemarks count]) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
CLLocation *location = placemark.location;
CLLocationCoordinate2D coordinate = location.coordinate;
NSLog(@"coordinate = (%f, %f)", coordinate.latitude, coordinate.longitude);
}
}];
这是从的 location 属性中locationString
检索到的位置字符串。EKCalendarItem
默认的 iCal 应用程序必须执行类似的操作,希望这对您有所帮助。
于 2014-09-30T13:28:25.137 回答