Optional for `placemarkPosition` removed

This commit is contained in:
Vladimir Makarov 2023-03-10 17:38:35 +01:00
parent 2b1511657d
commit 511c2b9653
5 changed files with 9 additions and 6 deletions

View File

@ -40,7 +40,8 @@ open class AppleClusterPlacemarkManager<Model>: BaseClusterPlacemarkManager<MKAn
self.mapViewDelegate = mapViewDelegate
super.init(dataModel: placemarkManagers,
super.init(placemarkPosition: .from(coordinates: placemarkManagers.map(\.placemarkPosition)),
dataModel: placemarkManagers,
iconFactory: iconFactory?.asAnyMarkerIconFactory { $0.map { $0.dataModel } },
tapHandler: tapHandler)
}

View File

@ -46,7 +46,8 @@ open class GoogleClusterPlacemarkManager<Model>: BaseClusterPlacemarkManager<GMS
mapDelegate: GMSMapViewDelegate? = nil,
tapHandler: TapHandlerClosure?) where IF.Model == [Model] {
super.init(dataModel: placemarkManagers,
super.init(placemarkPosition: .from(coordinates: placemarkManagers.map(\.placemarkPosition)) ?? .init(),
dataModel: placemarkManagers,
iconFactory: iconFactory?.asAnyMarkerIconFactory { $0.map { $0.dataModel } },
tapHandler: tapHandler)

View File

@ -30,7 +30,7 @@ open class BasePlacemarkManager<Placemark, DataModel, Location>: NSObject, Place
open var state: MarkerState = .default
/// Point (coordinates) itself of the current placemark manager
public let placemarkPosition: Location?
public let placemarkPosition: Location
/// Model for the current placemark manager
public let dataModel: DataModel
@ -38,7 +38,7 @@ open class BasePlacemarkManager<Placemark, DataModel, Location>: NSObject, Place
public var tapHandler: TapHandlerClosure?
public var iconFactory: AnyMarkerIconFactory<DataModel>?
public init(placemarkPosition: Location? = nil,
public init(placemarkPosition: Location,
dataModel: DataModel,
iconFactory: AnyMarkerIconFactory<DataModel>?,
tapHandler: TapHandlerClosure?) {

View File

@ -26,7 +26,7 @@ public protocol PlacemarkManager: AnyObject {
typealias TapHandlerClosure = (DataModel, Position) -> Bool
var placemarkPosition: Position? { get }
var placemarkPosition: Position { get }
var dataModel: DataModel { get }
var state: MarkerState { get set }

View File

@ -37,7 +37,8 @@ open class YandexClusterPlacemarkManager<Model>: BaseClusterPlacemarkManager<YMK
iconFactory: IF?,
tapHandler: TapHandlerClosure?) where IF.Model == [Model] {
super.init(dataModel: placemarkManagers,
super.init(placemarkPosition: placemarkManagers.map(\.placemarkPosition),
dataModel: placemarkManagers,
iconFactory: iconFactory?.asAnyMarkerIconFactory { $0.map { $0.dataModel } },
tapHandler: tapHandler)
}