// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #import "LocationProvider.h" #import <CoreLocation/CoreLocation.h> @implementation LocationProvider { CLLocationManager* _locationManager; } @synthesize messageName = _messageName; - (instancetype) init { self = [super init]; if (self) self->_messageName = @"getLocation"; return self; } - (NSString*)didReceiveString:(NSString*)message { if (_locationManager == nil) { _locationManager = [[CLLocationManager alloc] init]; [_locationManager startMonitoringSignificantLocationChanges]; } CLLocation* location = _locationManager.location; NSDictionary* response = @{ @"latitude": @(location.coordinate.latitude), @"longitude": @(location.coordinate.longitude), }; NSData* data = [NSJSONSerialization dataWithJSONObject:response options:0 error:nil]; return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; } @end