高德地图 AMap.Geolocation

AMap.Geolocation:定位插件,整合了浏览器定位、精确IP定位、sdk辅助定位多种手段

官方说明:AMap.Geolocation定位服务插件。融合了浏览器定位、高精度IP定位、安卓定位sdk辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息、持续定位(浏览器定位)等功能。用户可以通过两种当时获得定位的成败和结果,一种是在getCurrentPosition的时候传入回调函数来处理定位结果,一种是通过事件监听来取得定位结果。Geolocation定位常见问题说明
注:默认情况下,PC端优先使用精确IP定位,解决多数浏览器无法完成定位的现状,IP定位失败后使用浏览器定位;手机端优先使用浏览器定位,失败后使用IP定位;对于安卓WebView页面的开发者,可以结合定位sdk进行辅助定位,详细说明见useNative参数。IP定位的精度值为’null’。
由于Chrome、IOS10等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。

官方api文档
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

代码示例

<script type="text/javascript">

        var map = new AMap.Map('container',{
            resizeEnable: true,
            zoom: 10,
            center: [116.480983, 40.0958]
        });

        map.plugin('AMap.Geolocation', function () {
            geolocation = new AMap.Geolocation({
                enableHighAccuracy: true,//是否使用高精度定位,默认:true
                timeout: 10000,          //超过10秒后停止定位,默认:无穷大
                maximumAge: 0,           //定位结果缓存0毫秒,默认:0
                convert: true,           //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
                showButton: true,        //显示定位按钮,默认:true
                buttonPosition: 'LB',    //定位按钮停靠位置,默认:'LB',左下角
                buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
                showMarker: true,        //定位成功后在定位到的位置显示点标记,默认:true
                showCircle: true,        //定位成功后用圆圈表示定位精度范围,默认:true
                panToLocation: true,     //定位成功后将定位到的位置作为地图中心点,默认:true
                zoomToAccuracy:true      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
            });

    function onComplete(obj){
       console.log(obj.message);
    }

    function  onError(obj){
      console.log(obj.message);
    }       
    map.addControl(geolocation);
    AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
    AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息
});
    </script>

效果图

这里写图片描述

在Vue中使用AMap.Geolocation需要进行以下步骤: 1. 在main.js中注册AMap.Geolocation插件。可以在main.js的plugin中加入 'AMap.Geolocation'。如果没有加入,可能会出现报错信息。 2. 在组件中使用AMap.Geolocation获取地理位置。可以在组件的data中定义相关属性,如lng、lat、center等。然后在插件的init事件中调用getCurrentPosition方法获取位置信息,并将获取到的经纬度赋值给相应的属性。 3. 确保在使用AMap.Geolocation之前,已经引入了高德地图的相关脚本。可以在index.html中引入高德地图的脚本文件。 4. 注意在使用vue-amap进行地图显示时,一定要设置地图的宽高,否则地图不会显示。可以给地图容器外面套一个div,并给div设置宽高。 综上所述,在Vue中使用AMap.Geolocation可以按照以上步骤进行操作。 #### 引用[.reference_title] - *1* *3* [记一坑:vue-amapGeolocation插件在chrome浏览器精准定位失败问题](https://blog.csdn.net/weixin_44015248/article/details/86660096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vue cli 使用高德Amap进行定位,获取当前城市步骤](https://blog.csdn.net/weixin_46475257/article/details/122745155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值