diff --git a/TIMapUtils/Sources/IconProviders/DefaultCachableMarkerIconFactory.swift b/TIMapUtils/Sources/IconProviders/DefaultCachableMarkerIconFactory.swift index 9ad5fdbc..b29381d8 100644 --- a/TIMapUtils/Sources/IconProviders/DefaultCachableMarkerIconFactory.swift +++ b/TIMapUtils/Sources/IconProviders/DefaultCachableMarkerIconFactory.swift @@ -23,7 +23,7 @@ import UIKit.UIImage open class DefaultCachableMarkerIconFactory: DefaultMarkerIconFactory { - public typealias CacheKeyProvider = (M) -> K + public typealias CacheKeyProvider = (M, MarkerState) -> K public let cache = NSCache() @@ -38,10 +38,10 @@ open class DefaultCachableMarkerIconFactory: DefaultMarkerIconF } open override func markerIcon(for model: M, state: MarkerState) -> UIImage { - let cacheKey = cacheKeyProvider(model) + let cacheKey = cacheKeyProvider(model, state) guard let cachedIcon = cache.object(forKey: cacheKey) else { - let icon = super.markerIcon(for: model, state: .default) + let icon = super.markerIcon(for: model, state: state) cache.setObject(icon, forKey: cacheKey) return icon diff --git a/TIMapUtils/Sources/IconProviders/DefaultClusterMarkerIconFactory.swift b/TIMapUtils/Sources/IconProviders/DefaultClusterMarkerIconFactory.swift index eccfdca6..04e800dc 100644 --- a/TIMapUtils/Sources/IconProviders/DefaultClusterMarkerIconFactory.swift +++ b/TIMapUtils/Sources/IconProviders/DefaultClusterMarkerIconFactory.swift @@ -36,8 +36,8 @@ public final class DefaultClusterMarkerIconFactory: DefaultCachableMarker beforeRenderCallback?(models, clusterIconRenderer) return clusterIconRenderer.renderCluster(of: models.count) - } cacheKeyProvider: { - String($0.count) as NSString + } cacheKeyProvider: { models, _ in + String(models.count) as NSString } } }