private void SetTileProvider() { //TileProvider = GetComponent<AbstractTileProvider>(); if (_options.extentOptions.extentType != MapExtentType.Custom) { ITileProviderOptions tileProviderOptions = _options.extentOptions.GetTileProviderOptions(); // Setup tileprovider based on type. switch (_options.extentOptions.extentType) { case MapExtentType.CameraBounds: { if (TileProvider != null) { if (!(TileProvider is QuadTreeTileProvider)) { TileProvider = new QuadTreeTileProvider(); } } else { TileProvider = new QuadTreeTileProvider(); } break; } case MapExtentType.RangeAroundCenter: { if (TileProvider != null) { if (!(TileProvider is RangeTileProvider)) { TileProvider = new RangeTileProvider(); } } else { TileProvider = new RangeTileProvider(); } break; } case MapExtentType.RangeAroundTransform: { if (TileProvider != null) { if (!(TileProvider is RangeAroundTransformTileProvider)) { TileProvider = new RangeAroundTransformTileProvider(); } } else { TileProvider = new RangeAroundTransformTileProvider(); } break; } default: break; } TileProvider.SetOptions(tileProviderOptions); } else { TileProvider = _tileProvider; } }