android高德开发知识点

设置海量点

  MultiPointOverlayOptions overlayOptions = new   MultiPointOverlayOptions();    

  overlayOptions.icon(BitmapDescriptorFactory.fromBitmap(


  BitmapFactory.decodeResource(getResources(),R.mipmap.goodcar)));//设置图标        

  overlayOptions.anchor(0.5f,0.5f); //设置锚点       

  multiPointOverlay = aMap.addMultiPointOverlay(overlayOptions);        

  Listlist = new ArrayList<>();

  //创建MultiPointItem存放,海量点中某单个点的位置及其他信息

  MultiPointItem multiPointItem = new MultiPointItem(latLng);

  MultiPointItem multiPointItem2 = new MultiPointItem(latLng12);

  MultiPointItem multiPointItem3 = new MultiPointItem(latLng13);

  MultiPointItem multiPointItem4 = new MultiPointItem(latLng14);
 
  list.add(multiPointItem);

  list.add(multiPointItem2);

  list.add(multiPointItem3);

  list.add(multiPointItem4);

  multiPointOverlay.setItems(list);//将规范化的点集交给海量点管理对象设置,待加载完毕即可看到海量点信息

  // 定义海量点点击事件

  AMap.OnMultiPointClickListener multiPointClickListener = new      AMap.OnMultiPointClickListener() {

  // 海量点中某一点被点击时回调的接口

  // 返回 true 则表示接口已响应事件,否则返回false

  @Override

  public boolean onPointClick(MultiPointItem pointItem) {

      Log.e("tag","海量点数据点击"+pointItem.getLatLng());

      return false;
 
    }

 };

  // 绑定海量点点击事件

  aMap.setOnMultiPointClickListener(multiPointClickListener);

点平滑移动(轨迹)

    // 获取轨迹坐标点  
    List<LatLng> points=new ArrayList<>();  
    points.add(latLng11);  
    points.add(latLng12);  
    points.add(latLng13);  
    points.add(latLng14);  
    points.add(latLng15);  
    LatLngBounds bounds = new LatLngBounds(points.get(0), points.get(points.size() - 2));  
    aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50));  
    SmoothMoveMarker smoothMarker = new SmoothMoveMarker(aMap);  
   // 设置滑动的图标  
    smoothMarker.setDescriptor(BitmapDescriptorFactory.fromResource(R.mipmap.navi_map_gps_locked));  

    LatLng drivePoint = points.get(0);  
    Pair<Integer, LatLng> pair = SpatialRelationUtil.calShortestDistancePoint(points, drivePoint);  
    points.set(pair.first, drivePoint);  
    List<LatLng> subList = points.subList(pair.first, points.size());  

     // 设置滑动的轨迹左边点  
    smoothMarker.setPoints(subList);  
     // 设置滑动的总时间  
    smoothMarker.setTotalDuration(40);  
    // 开始滑动  
    smoothMarker.startSmoothMove();  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,911评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,805评论 19 139
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,537评论 5 13
  • 一、screen 二、文件操作 1、文件夹重命名 /proj/huang/123//proj/h111//proj...
    Miliimoulins阅读 4,836评论 0 0
  • 怎么选书 要读书,必先选书。可以说,一个人读什么书,首先来自他的选书。我一直认为,读书本身,其实不见得是个什么优点...
    古尔浪洼阅读 12,838评论 24 171

友情链接更多精彩内容