Добавление метки названия места в маркеры карты Google в iOS - PullRequest
0 голосов
/ 11 мая 2018

У меня есть маркеры, отображаемые на карте Google, и я хотел бы добавить UILabel названия каждого соответствующего места.

Видел, что заголовок свойства GMSMarker относится к маркеру infoWindow и от тонкогоПри выборе доступных исследований может потребоваться сделать пользовательский значок?

Есть ли примеры iOS (более простой) реализации?

1 Ответ

0 голосов
/ 11 мая 2018

Чтобы создать пользовательский маркер, необходимо создать подкласс GMSMarker и создать его iconView в соответствии с вашими потребностями.

Из Документация Google Maps :

  • (UIView*) iconView [read, write, assign]

Вид маркера для визуализации.Если оставлено ноль, вместо этого возвращается свойство icon.

Пример:

class CustomMarker: GMSMarker {

    var label: UILabel!

    init(labelText: String) {
        super.init()

        let iconView = UIView(frame: CGRect(origin: .zero, size: CGSize(width: 50, height:     80)))
        iconView.backgroundColor = .white

        label = UILabel(frame: CGRect(origin: .zero, size: CGSize(width:     iconView.bounds.width, height: 40)))
        label.text = labelText
        iconView.addSubview(label)

        self.iconView = iconView
    }
}

Использование:

let marker = CustomMarker(labelText: "my_label")
marker.position = CLLocationCoordinate2D(latitude: 0, longitude: 0)
marker.map = //your mapView object

Обратите внимание, что iconView толькоиспользуется для создания уценки для вашего маркера, который будет отображаться.Ваш маркер не будет сложным, как обычно UIView, поэтому добавление к нему любых жестов или сложных прокручиваемых видов не даст никакого эффекта.

...