与高德地图的一些恩怨(三)绘制mark点和infowindow

地图显示出来了之后,我们要在上边绘制mark点和写一个自定义气泡
这是单位的需求,周末回家就自己试了下,功能什么的都一样,样式和切图是自己随便闹的

官方文档的内容

http://lbs.amap.com/api/android-sdk/guide/draw-on-map/draw-marker

绘制默认 Marker
绘制 Marker 的代码如下:

LatLng latLng = new LatLng(39.906901,116.397972);
final Marker marker = aMap.addMarker(new MarkerOptions().position(latLng).title("北京").snippet("DefaultMarker"));

这里写图片描述

绘制自定义 Marker
可根据实际的业务需求,在地图指定的位置上添加自定义的 Marker。MarkerOptions 是设置 Marker 参数变量的类,自定义 Marker 时会经常用到。

下面以自定义 Marker 图标为例进行代码说明:

MarkerOptions markerOption = new MarkerOptions();
    markerOption.position(Constants.XIAN);
    markerOption.title("西安市").snippet("西安市:34.341568, 108.940174");

    markerOption.draggable(true);//设置Marker可拖动
    markerOption.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory
        .decodeResource(getResources(),R.drawable.location_marker)));
    // 将Marker设置为贴地显示,可以双指下拉地图查看效果
    markerOption.setFlat(true);//设置marker平贴地图效果

这里写图片描述

绘制动画效果 Marker
自地图 SDK V4.0.0 版本起,SDK 提供了给 Marker 设置动画的方法,具体实现方法如下:

Animation animation = new RotateAnimation(marker.getRotateAngle(),marker.getRotateAngle()+180,0,0,0);
long duration = 1000L;
animation.setDuration(duration);
animation.setInterpolator(new LinearInterpolator());

marker.setAnimation(animation);
marker.startAnimation();

可触发的 Marker 事件

Marker 点击事件

点击 Marker 时会回调AMap.OnMarkerClickListener,监听器的实现示例如下:

// 定义 Marker 点击事件监听
AMap.OnMarkerClickListener markerClickListener = new AMap.OnMarkerClickListener() {
    // marker 对象被点击时回调的接口
    // 返回 true 则表示接口已响应事件,否则返回false
    @Override
    public boolean onMarkerClick(Marker marker) {
        return false;
    }
};
// 绑定 Marker 被点击事件
mAMap.setOnMarkerClickListener(markerClickListener);
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值