RouteChat demo
This commit is contained in:
parent
59fdf71844
commit
8d748b32f4
|
|
@ -53,6 +53,25 @@ static NSString * const kHostAddress = @"http://localhost:50051";
|
||||||
}
|
}
|
||||||
@end
|
@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
|
#pragma mark Get Feature
|
||||||
|
|
||||||
// Run the getFeature demo. Calls getFeature with a point known to have a feature and a point known
|
// 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
|
@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 {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
|
|
||||||
|
|
@ -180,3 +184,42 @@ static NSString * const kHostAddress = @"http://localhost:50051";
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue