高德地图是我经常使用过的组件,今天想跟大家讨论下信息窗体的创建与显示的方法,这种就是属于自定的内容了,需要到高德开发者中心查看一些相应的文档

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如何同时打开多个信息窗口 高德地图_高德地图显示单个窗体和显示多个窗体的方法...相关推荐

  1. js如何同时打开多个信息窗口 高德地图_高德地图-展示多个信息窗口

    1.问题背景 高德地图,设置小图标,并点击图标显示信息 2.实现源码 高德地图展示多个信息窗口 //初始化地图对象,加载地图 var map = new AMap.Map("containe ...

  2. js添加多marker 高德地图_高德地图点聚合--Marker多点聚合及多个marker点击事件

    本篇文章主要是高德地图的多点聚合,及多个marker点击事件 以下为简单的模拟数据 soogif (1).gif image.png 具体代码如下 点聚合 html, body, #container ...

  3. 直接调用高德地图_高德上线“充电地图”功能 覆盖全国96%充电桩信息

    当下,电动车车主最"头疼"的事,莫过于充电不方便了吧.当自己的爱车电量告急急需充电时,看着一个又一个的充电品牌软件,却不知道选择哪一个,也会让不少车主头大.为此,高德地图带来了不错 ...

  4. 百度地图api html信息窗口,百度地图API实战

    信息窗口 这一小节我们将实现创建信息窗口以及点击标注出现信息窗口. 1.简介 信息窗口在地图上方的浮动显示HTML内容.信息窗口可直接在地图上的任意位置打开,也可以在标注对象上打开(此时信息窗口的坐标 ...

  5. js添加多marker 高德地图_【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物...

    摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在一张地图上,除了底层的底图(瓦片图,矢量图),控件(有功能可操作的工具),最重要最不可缺少的就是覆盖物了.覆盖物有多种,包括,标注.折 ...

  6. 百度地图api html信息窗口,百度地图 javascript api自定义信息窗口

    百度 js api中存在infoWindow的类,就是marker 点击后显示的信息窗口, 他存在一下问题 1.在map中只能显示一个infowindow, 2.该信息窗口的样式无法修改,显示的内容具 ...

  7. 高德地图 在点标记上点击显示信息窗口

    这个设计高德地图事件系统中的覆盖物事件–信息窗口打开关闭事件 官方示例:https://lbs.amap.com/api/javascript-api/example/event-overlay/in ...

  8. 百度地图_自动标记/点击图标显示对应信息

    1.百度地图前端页面–根据json数据自动标记,点击标记显示对应信息. 百度地图JavaScript API :http://lbsyun.baidu.com/cms/jsapi/reference/ ...

  9. js添加多marker 高德地图_覆盖物-参考手册-地图 JS API | 高德地图API

    覆盖物 覆盖物是指叠加在地图底图之上的一些常见要素,包括 Marker类 点标记. 构造函数 说明 AMap.Marker( 构造一个点标记对象,通过MarkerOptions设置点标记对象的属性 M ...

最新文章

  1. Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?
  2. protoc文件生成cs文件
  3. python面向对象(1) —— 封装
  4. 《剑指offer》求1+2+3+...n(不用if、else、乘除等)
  5. 微软已暂时停用你的帐户_Apple ID 被停用如何解决?
  6. SpringBoot2.1.9 多Redis Jedis配置
  7. 真实AIS数据,解码,可视化
  8. 大数据应用项目创新大赛_全国高校大数据应用创新大赛
  9. C# 使用Task执行异步操作
  10. JAVA笔记:Java常用类库
  11. jquery.validate验证简介
  12. mysql如何管理innodb元数据_1.1.20 可动态关闭InnoDB更新元数据的统计功能
  13. HDOJ--2035--人见人爱A^B
  14. php 语言开发,PHP语言开发常用工具
  15. 7-2 一元多项式的乘法与加法运算 (20 分)
  16. 学习笔记(13):C++编程FFMpeg(QT5+OpenCV)实战--实时美颜直播推流-ffmpegSDK开发环境准备,第一个ffmpeg项目创建...
  17. 电源设计2【DC/DC、PCB设计】
  18. 手机c语言图形界面编程工具,「分享」C语言如何编写图形界面
  19. 和 谐 文 化 简 介
  20. 图书推荐|计算机组成与设计(原书第5版) 硬件软件接口 RISC-V

热门文章

  1. 0-1背包问题优化算法详解
  2. AndroidStudio-引用jar包及so文件
  3. 用 CSS 做轮播图
  4. ⑧javaWeb之在例子中学习(过滤器Filter)
  5. [zz]jQuery.extend 函数详解
  6. 博客那些用到极致的推广方式
  7. linux中使用ssh或scp时如何跳过RSA key fingerprint输入yes/no
  8. Python学习笔记:Day13 提升开发效率
  9. Matlab练习:timer(定时器3)
  10. 深度探索va_start、va_arg、va_end