• 【HMS】地图服务我的位置定位问题


     【问题描述】

    关于华为HMS-地图服务没有定位到我的位置的问题。

    背景:下载集成华为地图服务官网demo运行后,

    使用createMapView方式展示地图,设置自动定位

        @Override

        public void onMapReady(HuaweiMap map) {

            Log.d(TAG, "onMapReady: ");

            hMap = map;

            hMap.setMyLocationEnabled(true);

    //      hMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(48.893478, 2.334595), 10));

        }

    页面没有变化,没有定位到我的位置,咨询如何设置自动定位切换到我的位置。

    cke_531.png

    【解决方案】

    1、demo中没有相关的设置,需要开发者自行添加。

    开发者可以开启“我的位置”功能向用户展示他们在地图上的当前位置,在使用该功能之前,请先确保已申请定位权限。Android提供了两种位置权限:ACCESS_COARSE_LOCATION(粗略的位置权限)和ACCESS_FINE_LOCATION(精确的位置权限)。

    需要在Manifest文件中申请权限:

    cke_2012.png

    2、在Manifest中添加后,还要在代码中动态申请一下权限(Android 6.0危险权限要求):

    cke_3864.png

    3、调用HuaweiMap对象的setMyLocationEnabled(true)方法以启用“我的位置”功能。

    cke_6127.png

    4、在开启该功能后,“我的位置”按钮默认显示在地图的右下角,用户的定位会以蓝色圆点的形式呈现。当用户点击该按钮时,如果获取到用户的位置,将会在屏幕中心显示当前定位。如果设置了“我的位置”按钮侦听器,用户点击“我的位置”按钮时,会通过调用HuaweiMap.OnMyLocationButtonClickListener的onMyLocationButtonClick()接口回调

    也可以通过调用HuaweiMap.getUiSettings()方法返回UiSettings类的对象,并通过该对象的setMyLocationButtonEnabled(false)方法来隐藏“我的位置”按钮。

    cke_8975.png

    拓展:

    也可以使用代码:

    hMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(d0,d1), 15));

    实现定位到我的位置。

     欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

  • 相关阅读:
    python的入门知识(下)
    [python][deepface][原创]使用deepface进行表情识别
    ice calladder
    使用binlog2sql工具闪回恢复被误删除的数据实战
    你的 Python 代码太慢了吗?协程和多线程来拯救!
    Linux之gdb安装和升级
    黑马点评-02使用Redis代替session,Redis + token机制实现
    java之递归搜索本地磁盘
    Python3 输出格式美化
    R | R包安装报错-github连接速度慢或无法访问 | metaboanalystR | Retip | rJava安装
  • 原文地址:https://blog.csdn.net/weixin_44708240/article/details/126965661