美文网首页
高德地图自定义定位按钮及点击事件

高德地图自定义定位按钮及点击事件

作者: HaoKe | 来源:发表于2018-11-23 16:19 被阅读0次

    最近使用了一下高德地图,使用期间将出现的问题记录一下。文中出现不对的地方,悉听各路大神指正。2018年11月23日15:59:46


    1.首先我们初始化map控制对象aMap 。

    if (aMap ==null) {

    aMap =mMapView.getMap();

    }

    2.设置setMyLocationButtonEnabled为false(true:显示地图默认右上方圆形定位图标  false:不显示)

    aMap.getUiSettings().setMyLocationButtonEnabled(false);

    3.实现位置变化监听器setOnMyLocationChangeListener

    aMap.setOnMyLocationChangeListener(new AMap.OnMyLocationChangeListener() { 

    @Override

        public void onMyLocationChange(Location location) {

                    double latitude = location.getLatitude();

                    double longitude = location.getLongitude();

                    latLng =new LatLng(latitude,longitude);

                    if(followMove){

                                aMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));

                    }

            }

    });

    4.实现setOnMapTouchListener监听

    aMap.setOnMapTouchListener(new AMap.OnMapTouchListener() {

        @Override

        public void onTouch(MotionEvent motionEvent) {

            //用户拖动地图后,不再跟随移动,直到用户点击定位按钮

            followMove =false;

        }

    });

    5.activity的xml中新增一个imageview,放到你喜欢的地方。用你喜欢的icon,(使用FrameLayout来实现覆盖)

    <ImageView

        android:layout_width="40dp"

        android:layout_height="40dp"

        android:src="@mipmap/ic_location"

        android:onClick="doclick"

        android:padding="5dp"

        android:layout_marginLeft="50dp"

        android:layout_marginTop="100dp"/>

    6.在imageview点击事件中使用moveCamera更新位置,完成定位

    public void doclick(View view) {

            aMap.moveCamera(CameraUpdateFactory.changeLatLng(latLng));

    }

    7.有不明白的地方可以参考高德地图官方文档 

    相关文章

      网友评论

          本文标题:高德地图自定义定位按钮及点击事件

          本文链接:https://www.haomeiwen.com/subject/rfijqqtx.html