|
|
|
@ -53,6 +53,25 @@ static NSString * const kHostAddress = @"http://localhost:50051"; |
|
|
|
|
} |
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
// Category to give RTGRouteNote a convenience constructor. |
|
|
|
|
@interface RTGRouteNote (Constructors) |
|
|
|
|
+ (instancetype)noteWithMessage:(NSString *)message |
|
|
|
|
latitude:(float)latitude |
|
|
|
|
longitude:(float)longitude; |
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
@implementation RTGRouteNote (Constructors) |
|
|
|
|
+ (instancetype)noteWithMessage:(NSString *)message |
|
|
|
|
latitude:(float)latitude |
|
|
|
|
longitude:(float)longitude { |
|
|
|
|
RTGRouteNote *note = [self message]; |
|
|
|
|
note.message = message; |
|
|
|
|
note.location.latitude = (int32_t) latitude * 1E7; |
|
|
|
|
note.location.longitude = (int32_t) longitude * 1E7; |
|
|
|
|
return note; |
|
|
|
|
} |
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
#pragma mark Get Feature |
|
|
|
|
|
|
|
|
|
// Run the getFeature demo. Calls getFeature with a point known to have a feature and a point known |
|
|
|
@ -134,21 +153,6 @@ static NSString * const kHostAddress = @"http://localhost:50051"; |
|
|
|
|
|
|
|
|
|
@implementation RecordRouteViewController |
|
|
|
|
|
|
|
|
|
- (void)viewDidLoad { |
|
|
|
|
[super viewDidLoad]; |
|
|
|
|
// Do any additional setup after loading the view. |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma mark Route Chat |
|
|
|
|
|
|
|
|
|
@interface RouteChatViewController : UIViewController |
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
@implementation RouteChatViewController |
|
|
|
|
|
|
|
|
|
- (void)viewDidLoad { |
|
|
|
|
[super viewDidLoad]; |
|
|
|
|
|
|
|
|
@ -180,3 +184,42 @@ static NSString * const kHostAddress = @"http://localhost:50051"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma mark Route Chat |
|
|
|
|
|
|
|
|
|
// Run the routeChat demo. Send some chat messages, and print any chat messages that are sent from |
|
|
|
|
// the server. |
|
|
|
|
|
|
|
|
|
@interface RouteChatViewController : UIViewController |
|
|
|
|
@end |
|
|
|
|
|
|
|
|
|
@implementation RouteChatViewController |
|
|
|
|
|
|
|
|
|
- (void)viewDidLoad { |
|
|
|
|
[super viewDidLoad]; |
|
|
|
|
|
|
|
|
|
NSArray *notes = @[[RTGRouteNote noteWithMessage:@"First message" latitude:0 longitude:0], |
|
|
|
|
[RTGRouteNote noteWithMessage:@"Second message" latitude:0 longitude:1], |
|
|
|
|
[RTGRouteNote noteWithMessage:@"Third message" latitude:1 longitude:0], |
|
|
|
|
[RTGRouteNote noteWithMessage:@"Fourth message" latitude:0 longitude:0]]; |
|
|
|
|
GRXWriter *notesWriter = [[GRXWriter writerWithContainer:notes] map:^id(RTGRouteNote *note) { |
|
|
|
|
NSLog(@"Sending message %@ at %@", note.message, note.location); |
|
|
|
|
return note; |
|
|
|
|
}]; |
|
|
|
|
|
|
|
|
|
RTGRouteGuide *client = [[RTGRouteGuide alloc] initWithHost:kHostAddress]; |
|
|
|
|
|
|
|
|
|
[client routeChatWithRequestsWriter:notesWriter handler:^(BOOL done, RTGRouteNote *note, NSError *error) { |
|
|
|
|
if (note) { |
|
|
|
|
NSLog(@"Got message %@ at %@", note.message, note.location); |
|
|
|
|
} else if (error) { |
|
|
|
|
NSLog(@"RPC error: %@", error); |
|
|
|
|
} |
|
|
|
|
if (done) { |
|
|
|
|
NSLog(@"Chat ended."); |
|
|
|
|
} |
|
|
|
|
}]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@end |
|
|
|
|