Значение типа 'MGLMapView?'не имеет члена 'clusterManager' при настройке ClusterKit - PullRequest
0 голосов
/ 23 февраля 2019

Я работаю над картой Mapbox и хочу использовать функцию кластеризации, найденную здесь .Поэтому я скопировал код, и мне нужно знать, вставить мои данные вместо примера.

let algorithm = CKNonHierarchicalDistanceBasedAlgorithm()  
mapView1.clusterManager.algorithm = algorithm  
mapView1.clusterManager.annotations = annotations

Я настраивал функциональность и импортировал ClusterKit, и все же mapView1, похоже, не обладает функциональностью .clusterManager, которую он должен иметь. Что я делаю не так и как я могу это исправить?

1 Ответ

0 голосов
/ 24 февраля 2019

.clusterManager свойство приходит из CKMap протокола.

Из документации:

/ ** Протокол CKMap используется для предоставления кластераинструкции и получить информацию с карты.Чтобы использовать этот протокол, вы применяете его в любых пользовательских объектах, представляющих карту.
@discussion Объект, который принимает этот протокол, должен реализовывать все методы и свойства.
* / @protocol CKMap

Убедитесь, что ваш mapView1 объект относится к типу, который принимает протокол CKMap.Возможно, вы забыли установить собственный класс MGLMapView для вида карты в раскадровке.

А также, пожалуйста, убедитесь, что у вашего Podfile есть эта строка:

pod 'ClusterKit/Mapbox', :path => '../.'

После этого попробуйтеобновите строку кода импорта следующим образом:

import ClusterKit.Mapbox
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...