Swift之高德地图自定义标注弹出气泡样式

在用到地图类的sdk,sdk自带的样式必定不能满足开发者的需求,于是开发者不得不进行自定义,由于官方同样是object-c 版语法,不得不将其转为swift语法,以满足项目需求。

新建两个类

CustomCalloutView:UIView  自定义气泡view,代码实现如下。

swift版实现

CustomAnnotationView:MAAnnotationView 自定义标注物类

实现方法

//标注物点击事件

override func setSelected(selected:Bool, animated:Bool) {

//在此方法中进行,弹出气泡view(CustomCalloutView),以及在view中添加自己的view

}

自定义标注swift版代码实现

实现,点击地图其他位置,移除气泡view

self.calloutView?.removeFromSuperview()

最后别忘记,在此方法中调用父类方法

super.setSelected(selected, animated: animated)

于是,自定义气泡到此结束。

文/三与四叶_(简书作者)
原文链接:http://www.jianshu.com/p/bb52cded8710
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

时间: 2024-12-07 21:41:50

Swift之高德地图自定义标注弹出气泡样式的相关文章

IOS 设置百度地图自定义标注图片,自定义泡泡

#pragma mark - BMKMapViewDelegate // 根据anntation生成对应的View - (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation { //普通annotation NSString *AnnotationViewID = @"ClusterMark"; ClusterAnnotation

Android高德地图自定义Markers的例子

下文为各位重点介绍关于Android高德地图自定义Markers的例子,希望这篇文章能够让各位理解到Android高德地图自定义Markers的方法. 之前的博客里说了地图的嵌入和定位,今天就说说在地图上显示一些我们想要的.在地图中有自带的Markers(标记),但是它只显示一个椭圆的图标,一般是不符合我们的需求的,这样就要我们自己来自定义.首先标记有下面一些属性; 1.position(Required) 在地图上标记位置的经纬度值.参数不能为空. 2.title 当用户点击标记,在信息窗口上

IOS开发之自定义系统弹出键盘上方的view

IOS开发之自定义系统弹出键盘上方的view 分类: IOS 2014-11-18 09:26 1304人阅读 评论(0) 收藏 举报 目录(?)[+] 这篇文章解决的一个开发中的实际问题就是:当弹出键盘时,自定义键盘上方的view.目前就我的经验来看,有两种解决方法.一个就是利用 UITextField或者UITextView的inputAccessoryView属性,另一种,就是监听键盘弹出的notification来自 己解决相关视图的位置问题. 第一种解决方法相对比较简单,第二种的方法中

两种自定义系统弹出键盘上方的view

我们在很多的应用中,都可能会遇到,在弹出的键盘上方的view,添加一些控件来作辅助功能,下面我通过2种情况来介绍: // 屏幕的物理高度 #define ScreenHeight [UIScreen mainScreen].bounds.size.height // 屏幕的物理宽度 #define ScreenWidth [UIScreen mainScreen].bounds.size.width @interface HMTMainViewController () @property (n

重写alert弹出窗口样式

<script> window.alert = function(str)    {     var shield = document.createElement("DIV");     shield.id = "shield";     shield.style.position = "absolute";     shield.style.left = "0px";     shield.style.top

menu-普通menu弹出框样式

今天接触到了menu弹出框样式.主要就是在theme下进行调整.现在把接触到的知识点总结一下. 在theme中,跟menu有关的几个属性如下 <item name="panelBackground">@android:drawable/menu_panel_color_funui</item> <item name="panelFullBackground">@android:drawable/menu_background_fi

Android窗口为弹出框样式

1.XML android:theme="@android:style/Theme.Dialog <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fish.helloworld" android:versio

JQuery实现感应鼠标弹出气泡框悬停提示的js特效

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

弹出框样式

.pop_overlay{ width: 100%; height: 100%; background: #c2c2c2; opacity: 0.5; filter:alpha(opacity=50); position: fixed; z-index: 1; left: 0; top:0; display: none;}.pop_con{ width: 534px; height: 400px; z-index: 2; background: #ffffff; position: absolu