zoukankan      html  css  js  c++  java
  • Android集成高德地图如何自定义marker

    高德地图自定义Marker
    高德地图默认的marker样式是这种

    一般的修改样式是通过icon接口来调整

    MarkerOptions markerOptions = new MarkerOptions()
                        .position(latlng)
                        .draggable(true)
                        .icon(BitmapDescriptorFactory.fromBitmap(bitmap));
    

    当遇到图片加文字的marker该如何自定义呢?如这样

    步骤:

    /**
         * 往地图上添加marker
         */
        public static void addMarkersToMap(Context context, AMap aMap, LatLng latlng, PointModel model) {
            if (aMap != null) {
                View view = View.inflate(context, R.layout.view_marker, null);
                TextView textView = (TextView) view.findViewById(R.id.tvQuality);
                ImageView imageView = (ImageView) view.findViewById(R.id.ivQuality);
                int aqi=Integer.parseInt(model.getAqi());
                if (aqi>0&&aqi<=100){
                    imageView.setImageResource(R.drawable.ic_quality_03);
                }else if(aqi>100&&aqi<=200){
                    imageView.setImageResource(R.drawable.ic_quality_02);
                }else if (aqi>200){
                    imageView.setImageResource(R.drawable.ic_quality_01);
                }else {
                    imageView.setImageResource(R.drawable.ic_quality_01);
                }
                textView.setText(model.getAqi());
                Bitmap bitmap = convertViewToBitmap(view);
                markerOptions = new MarkerOptions()
                        .position(latlng)
                        .draggable(true)
                        .icon(BitmapDescriptorFactory.fromBitmap(bitmap));
                marker = aMap.addMarker(markerOptions);
            }
        }
    

    自定义view,然后赋值,将view转化为bitmap即可:

     //view 转bitmap
        public static Bitmap convertViewToBitmap(View view) {
            view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
            view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
            view.buildDrawingCache();
            Bitmap bitmap = view.getDrawingCache();
            return bitmap;
        }
    

    原文:https://blog.csdn.net/qq_16131393/article/details/78252857

  • 相关阅读:
    Ubuntu命令行快捷启动Matlab
    用xmanager6启动Linux上的图形界面程序
    Winscp远程连接Linux主机,上传和下载文件
    Xshell6连接Ubuntu18.04
    Windows10通过VNC远程连接Ubuntu18.04
    获取Linux ip
    关联Anaconda和最新Pycharm2018.3.2
    asp.net mvc 外网获取不到port问题解决
    js 毫秒换算成秒
    c# 监听文件夹动作
  • 原文地址:https://www.cnblogs.com/wzqnxd/p/10076188.html
Copyright © 2011-2022 走看看