iOS(swift) 百度地图 标注,气泡,弹出层 一直显示 显示多个(自定义BMKAnnotationView)
程序员文章站
2022-04-05 23:38:06
参考有用的参考链接(按重要性排序):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)
}
}
效果图:
参考
有用的参考链接(按重要性排序):
1.上面截图的链接(百度地图官网)
2.IOS百度地图BMKAnnotationView添加子视图,子视图点击事件不响应解决办法
看过的博客(都没用):
有什么方法能在百度地图一出现的时候就让标注显示气泡吗?
ios百度地图 怎么能够进入地图后默认在地图上显示标注 和 弹出气泡。
经验教训
在接入第三方的时候遇到问题:
1.首选看文档和demo还有官网的讨论和解决办法(如果有实时回复的客服就直接问客服)
2.百度谷歌
3.提交工单
本文地址:https://blog.csdn.net/baidu_40537062/article/details/109628581