blob: 7606d1593bcc4343a896900702b1953d2d5fbdb3 [file] [log] [blame]
// Copyright 2018 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 "GoogleMapsPlugin.h"
#pragma mark - GoogleMaps plugin implementation
@implementation FLTGoogleMapsPlugin {
NSObject<FlutterPluginRegistrar>* _registrar;
FlutterMethodChannel* _channel;
NSMutableDictionary* _mapControllers;
}
+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
FLTGoogleMapFactory* googleMapFactory = [[FLTGoogleMapFactory alloc] initWithRegistrar:registrar];
[registrar registerViewFactory:googleMapFactory withId:@"plugins.flutter.io/google_maps"];
}
- (FLTGoogleMapController*)mapFromCall:(FlutterMethodCall*)call error:(FlutterError**)error {
id mapId = call.arguments[@"map"];
FLTGoogleMapController* controller = _mapControllers[mapId];
if (!controller && error) {
*error = [FlutterError errorWithCode:@"unknown_map" message:nil details:mapId];
}
return controller;
}
@end