欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS(swift) 百度地图 标注,气泡,弹出层 一直显示 显示多个(自定义BMKAnnotationView)

程序员文章站 2022-07-03 14:53:23
参考有用的参考链接(按重要性排序):1.上面截图的链接(百度地图官网)2.IOS百度地图BMKAnnotationView添加子视图,子视图点击事件不响应解决办法看过的博客(都没用):有什么方法能在百度地图一出现的时候就让标注显示气泡吗?ios百度地图 怎么能够进入地图后默认在地图上显示标注 和 弹出气泡。经验教训在接入第三方的时候遇到问题:1.首选看文档和demo还有官网的讨论和解决办法(如果有实时回复的客服就直接问客服)2.百度谷歌3.提交工单......
    annotationView = BMKPinAnnotationView.init(annotation: annotation, reuseIdentifier: annotationViewIdentifier)
    annotationView?.canShowCallout = true
    annotationView?.setSelected(true, animated: false)
    annotationView?.isSelected = true
    mapView.selectAnnotation(annotation, animated: false) //BMKMapView

试了上面带select的三种方式都没有用

解决方法:自定义BMKAnnotationView

自定义代码如下:

//
//  BMKMyAnnotationView.swift
//  CycleBike
//
//  Created by macvivi on 2020/11/12.
//  Copyright © 2020 macvivi. All rights reserved.
//

import UIKit

class BMKMyAnnotationView: BMKAnnotationView {
    init(annotation: BMKAnnotation!, reuseIdentifier: String!,title: String?) {
        super.init(annotation: annotation, reuseIdentifier: reuseIdentifier)
        labelText = title ?? labelText
        setupUI()
    }
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    private var labelText = "100000.0km"
    
    func setupUI(){
        bounds.size = CGSize(width: 16, height: 16)
        layer.cornerRadius = 8
        layer.borderColor = UIColor.white.cgColor
        layer.borderWidth = 2
        backgroundColor = .red
        
        let label = UILabel()
        label.text = labelText
        label.font = UIFont.systemFont(ofSize: 12)
        label.sizeToFit()
        label.backgroundColor = .lightGray
        label.frame = CGRect(x: -label.bounds.size.width/2 + 8, y: -label.bounds.size.height-5, width: label.bounds.size.width, height: label.bounds.size.height)
        addSubview(label)
    }
}

效果图:
iOS(swift) 百度地图 标注,气泡,弹出层 一直显示 显示多个(自定义BMKAnnotationView)

参考

有用的参考链接(按重要性排序):
iOS(swift) 百度地图 标注,气泡,弹出层 一直显示 显示多个(自定义BMKAnnotationView)
1.上面截图的链接(百度地图官网)
2.IOS百度地图BMKAnnotationView添加子视图,子视图点击事件不响应解决办法

看过的博客(都没用):
有什么方法能在百度地图一出现的时候就让标注显示气泡吗?
ios百度地图 怎么能够进入地图后默认在地图上显示标注 和 弹出气泡。

经验教训

在接入第三方的时候遇到问题:
1.首选看文档和demo还有官网的讨论和解决办法(如果有实时回复的客服就直接问客服)
2.百度谷歌
3.提交工单

本文地址:https://blog.csdn.net/baidu_40537062/article/details/109628581

相关标签: ios