关于Android集成高德地图的那些事儿...地图标注Marker 、Poi 搜索

    上一篇博客介绍了地图的显示,不要太简单了, 我们要实现的效果当然不仅仅是显示地图这么废了, 现在地图是有了 , 怎么在地图上添加一个标注呢? 添加一个圆形?又或者是我想在地图上添加个自定义的View, 会不会很6? 呵呵 

    答案全在AMap aMap=mapView.getMap(); 我们添加的这些东西都是要在aMap上操作的 , 之前有说道定位回调的方法里面显示了系统的定位小蓝点 ,  那我不想要那个效果咋整 ? 当然了SDK中的api可以修改定位点的样式 , 这个就不说了 , 对于强迫症的我来说 , 不如自己搞一个来的痛快, 系统定位蓝点不过就是个Marker而已

    先来创建一个Marker ,  aMap.addMarker( ) 方法返回值就是Marker对象 , 方法参数接收的是 MarkerOptions  ; MarkerOptions 可以设置资源图片 , 设置锚点 ,标题等等 ;重点说下这个图片MarkerOptions有个icon()方法 可以加载资源图片 , 也可以加载自定义View ; 有趣的是 ,api现在已经支持给Marker添加动画了  , 那就在添加Marker的同时 加入缩放和透明度渐变的动画

// BitmapDescriptorFactory.fromView(View view);
// BitmapDescriptorFactory.fromBitmap(Bitmap bitmap)
// BitmapDescriptorFactory.fromAsset(String s);
// BitmapDescriptorFactory.fromResource(int res);
// BitmapDescriptorFactory.fromFile(String path);

//加载一个layout
View view = View.inflate(this, R.layout.item_marker, null);
((TextView) view.findViewById(R.id.num)).setText("layout");
Marker addMarker = aMap.addMarker(new MarkerOptions()
                       .icon(BitmapDescriptorFactory.fromView(view))
                       .position(new LatLng(locationInfo.getLatitude(), locationInfo.getLongitude())));

//Marker 开启动画
private void startAnimation(Marker marker) {
        AnimationSet animationSet = new AnimationSet(false);
        Animation scale = new ScaleAnimation(0, 1, 0, 1);
        Animation alpha = new AlphaAnimation(0, 1);
        animationSet.addAnimation(alpha);
        animationSet.addAnimation(scale);
        animationSet.setDuration(300);
        animationSet.setInterpolator(new LinearInterpolator());
        marker.setAnimation(animationSet);
        marker.startAnimation();
    }


<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">

    <ImageView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_heigh
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Foritee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值