js如何同时打开多个信息窗口 高德地图_高德地图显示单个窗体和显示多个窗体的方法...
高德地图是我经常使用过的组件,今天想跟大家讨论下信息窗体的创建与显示的方法,这种就是属于自定的内容了,需要到高德开发者中心查看一些相应的文档
image.png
LatLng latLng = new LatLng(39.906901,116.397972);
final Marker marker = aMap.addMarker(new MarkerOptions().position(latLng).title("北京").snippet("DefaultMarker"));
官方是只有这寥寥数语,个中意味需要开发者仔细研究
image.png
经过我的而不断探索,最终吧还是搞懂了,其实这都是之前做好的,今天总结出来学习(装逼)而已,哈哈
显示单个信息窗体的,支持自定义布局
class BubbleInfoUpActivity : BaseActivity(), LocationSource, AMapLocationListener, AMap.InfoWindowAdapter,
AMap.OnInfoWindowClickListener, AMap.OnCameraChangeListener {
//省略若干无用代码
override fun onLocationChanged(aMapLocation: AMapLocation) {
}
override fun getInfoWindow(marker: Marker?): View {
var infoWindow = LayoutInflater.from(this@BubbleInfoUpActivity).inflate(R.layout.layout_gd_map_distance, null)
var name = infoWindow.findViewById(R.id.gd_distance)
name.text = "我在这里"
marker?.isVisible = true
return infoWindow
}
override fun getInfoContents(marker: Marker?): View? {
return null
}
override fun onInfoWindowClick(marker: Marker?) {
marker?.isVisible = true
marker?.showInfoWindow()
}
override fun activate(onLocationChangedListener: LocationSource.OnLocationChangedListener) {
}
override fun deactivate() {
}
override fun onCameraChange(cameraPosition: CameraPosition) {
}
override fun onCameraChangeFinish(cameraPosition: CameraPosition) {
val infoWindowAnimationManager = aMap?.infoWindowAnimationManager
infoWindowAnimationManager?.startAnimation()
mMarker?.showInfoWindow()
mMarker?.isInfoWindowEnable = true
onInfoWindowClick(mMarker)
}
}
Ok,就是这样,实现这几个接口,然后就能在一个定位点上显示一个小的信息窗体了,至于窗体的形状样式,自己可以在layout_gd_map_distance里更改
显示多个信息窗体的
这种的就是类似小黄车ofo 或者哈罗单车的效果了,在一个聚合区域里显示多个定位点,点上呢都有个信息的弹窗,也是可以自定义的,效果呢,大家就参考哈罗单车吧
image.png
我们还是直接看代码
aMap?.myLocationStyle = myLocationStyle
//实例化UiSettings类对象
mUiSettings = aMap?.uiSettings
//不显示缩放按钮
mUiSettings?.isZoomControlsEnabled = false
//不显示我的位置
myLocationStyle.showMyLocation(false)
// 设置默认定位按钮是否显示
aMap?.uiSettings?.isMyLocationButtonEnabled = false
aMap?.isMyLocationEnabled = false
//自定义InfoWindow
aMap?.setInfoWindowAdapter(this)//AMap类中
aMap?.setOnInfoWindowClickListener(this)
//自己的位置
val latLng = LatLng(worker_lat, worker_lon)
mMarker = aMap?.addMarker(MarkerOptions().position(latLng)
.title("运送位置")
.snippet("运送位置")
.setFlat(true)
.icon(getBitamap()))
// .icon(BitmapDescriptorFactory.fromResource(R.drawable.new_location_icon)))
最重要的就是这个icon方法了
private fun getBitamap(): BitmapDescriptor? {
var view = LayoutInflater.from(this@BubbleInfoUpActivity).inflate(R.layout.layout_title, null)
return BitmapDescriptorFactory.fromView(view)
}
Ok,想要什么样的弹窗就自己添加就好了
以上呢就是添加弹窗的两种方法,"砖厂繁忙,告辞了",搬砖码字去了。
js如何同时打开多个信息窗口 高德地图_高德地图显示单个窗体和显示多个窗体的方法...相关推荐
- js如何同时打开多个信息窗口 高德地图_高德地图-展示多个信息窗口
1.问题背景 高德地图,设置小图标,并点击图标显示信息 2.实现源码 高德地图展示多个信息窗口 //初始化地图对象,加载地图 var map = new AMap.Map("containe ...
- js添加多marker 高德地图_高德地图点聚合--Marker多点聚合及多个marker点击事件
本篇文章主要是高德地图的多点聚合,及多个marker点击事件 以下为简单的模拟数据 soogif (1).gif image.png 具体代码如下 点聚合 html, body, #container ...
- 直接调用高德地图_高德上线“充电地图”功能 覆盖全国96%充电桩信息
当下,电动车车主最"头疼"的事,莫过于充电不方便了吧.当自己的爱车电量告急急需充电时,看着一个又一个的充电品牌软件,却不知道选择哪一个,也会让不少车主头大.为此,高德地图带来了不错 ...
- 百度地图api html信息窗口,百度地图API实战
信息窗口 这一小节我们将实现创建信息窗口以及点击标注出现信息窗口. 1.简介 信息窗口在地图上方的浮动显示HTML内容.信息窗口可直接在地图上的任意位置打开,也可以在标注对象上打开(此时信息窗口的坐标 ...
- js添加多marker 高德地图_【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物...
摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在一张地图上,除了底层的底图(瓦片图,矢量图),控件(有功能可操作的工具),最重要最不可缺少的就是覆盖物了.覆盖物有多种,包括,标注.折 ...
- 百度地图api html信息窗口,百度地图 javascript api自定义信息窗口
百度 js api中存在infoWindow的类,就是marker 点击后显示的信息窗口, 他存在一下问题 1.在map中只能显示一个infowindow, 2.该信息窗口的样式无法修改,显示的内容具 ...
- 高德地图 在点标记上点击显示信息窗口
这个设计高德地图事件系统中的覆盖物事件–信息窗口打开关闭事件 官方示例:https://lbs.amap.com/api/javascript-api/example/event-overlay/in ...
- 百度地图_自动标记/点击图标显示对应信息
1.百度地图前端页面–根据json数据自动标记,点击标记显示对应信息. 百度地图JavaScript API :http://lbsyun.baidu.com/cms/jsapi/reference/ ...
- js添加多marker 高德地图_覆盖物-参考手册-地图 JS API | 高德地图API
覆盖物 覆盖物是指叠加在地图底图之上的一些常见要素,包括 Marker类 点标记. 构造函数 说明 AMap.Marker( 构造一个点标记对象,通过MarkerOptions设置点标记对象的属性 M ...
最新文章
- Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?
- protoc文件生成cs文件
- python面向对象(1) —— 封装
- 《剑指offer》求1+2+3+...n(不用if、else、乘除等)
- 微软已暂时停用你的帐户_Apple ID 被停用如何解决?
- SpringBoot2.1.9 多Redis Jedis配置
- 真实AIS数据,解码,可视化
- 大数据应用项目创新大赛_全国高校大数据应用创新大赛
- C# 使用Task执行异步操作
- JAVA笔记:Java常用类库
- jquery.validate验证简介
- mysql如何管理innodb元数据_1.1.20 可动态关闭InnoDB更新元数据的统计功能
- HDOJ--2035--人见人爱A^B
- php 语言开发,PHP语言开发常用工具
- 7-2 一元多项式的乘法与加法运算 (20 分)
- 学习笔记(13):C++编程FFMpeg(QT5+OpenCV)实战--实时美颜直播推流-ffmpegSDK开发环境准备,第一个ffmpeg项目创建...
- 电源设计2【DC/DC、PCB设计】
- 手机c语言图形界面编程工具,「分享」C语言如何编写图形界面
- 和 谐 文 化 简 介
- 图书推荐|计算机组成与设计(原书第5版) 硬件软件接口 RISC-V