美文网首页
使用百度地图API进行定位

使用百度地图API进行定位

作者: 毕竟1米八 | 来源:发表于2019-03-01 10:27 被阅读16次

实现原理和上一篇文章《微信小程序开发之获取当前位置所在的城市》一样,需要先申请一个AK成为开发者,然后通过接口返回经纬度来获取城市信息。

一、申请AK
进入控制台创建一个应用,申请一个基于浏览器端的AK。

二、引入百度地图SDK

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=填上你申请的AK"></script>

三、挂载百度地图实例
在html中增加一个id为allmap的标签,用来挂载百度地图实例。否则会报错,出现Can not read property 'gc' of undefined。

<div id="wrapper">
    <div id="allmap"></div>
    <p v-if="cityInfo.province">{{cityInfo.province}},{{cityInfo.city}},{{cityInfo.district}}</p>
    <p v-if="!cityInfo.province">定位中...</p>
</div>

四、js
首先,通过定位的API获取当前位置的经纬度。

// vue生命周期
created () {
    var that = this;
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.331398,39.897445);
    map.centerAndZoom(point,12);
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
            console.log(r);
            console.log(r.address.province);
            console.log(r.address.city);
            console.log("纬度为:" + r.point.lng);
            console.log("经度为:" + r.point.lat);
        }
        else {
            alert('failed'+this.getStatus());
        }
    })
}

通过定位的API返回了经纬度以及省市,但是区域结果返回为空。因此需要通过逆地址服务API来解析。

// 这里演示拆分了 需要写在获取经纬度里面
var map = new BMap.Map("allmap");   
// 通过经纬度得到城市信息  
map.centerAndZoom(new BMap.Point(r.point.lng, r.point.lat), 11);      
// 创建地理编码实例      
var myGeo = new BMap.Geocoder();      
myGeo.getLocation(new BMap.Point(r.point.lng, r.point.lat), function(result){      
    if (result){ 
        console.log(result);      
        console.log(result.address);      
        console.log(result.addressComponents.province);      
        console.log(result.addressComponents.city);      
        console.log(result.addressComponents.district);
        that.cityInfo.province = result.addressComponents.province;
        that.cityInfo.city = result.addressComponents.city;
        that.cityInfo.district = result.addressComponents.district;
        console.log(that.cityInfo);
    }      
})

相关文章

  • iOS百度地图使用时的注意问题

    iOS使用百度地图时会发现,API本身不带定位功能的,定位是通过iOS系统自身的定位实现的,百度地图API只是封装...

  • 8.25兄弟会

    js调用百度地图api实现定位 百度地图的API,接口很丰富,实现定位功能 // 百度地图API功能 varmap...

  • 使用百度地图定位IP位置

    百度IP定位API 百度地图提供了通过IP定位地址的API ip定位api http://api.map.baid...

  • 使用百度地图API进行定位

    实现原理和上一篇文章《微信小程序开发之获取当前位置所在的城市》一样,需要先申请一个AK成为开发者,然后通过接口返回...

  • 百度地图检索失败的问题

    由于项目需求,需要使用百度地图做成可拖拽达到精准定位的功能,类似于美团外卖的地图定位。 根据百度地图的API很容易...

  • H5-12.19拖拽事件及百度地图API

    一、 Geolocation(定位) 二、 百度地图 引用百度地图api 密钥获取:首先进入百度地图 点击进入地图...

  • Android 百度地图

    本期的主要目标: 掌握百度地图API的使用方法,掌握地图显示,地图定位,POI检索以及路径规划导航。 SDK简介和...

  • iOS中的定位-CoreLocation框架

    背景 因为苹果在不允许使用第三方库进行定位,即使是百度地图的定位也是在苹果API的基础上进行了封装,所以学习下iO...

  • iOS CLLocationManager定位

    声明 因为苹果在不允许使用第三方库进行定位,即使是百度地图的定位也是在苹果API的基础上进行了封装,所以学习下iO...

  • 百度地图API调用

    调用百度地图的API可以非常方便的实现我们需要的地图的功能,今天研究了一下调用百度地图API,显示定位信息、地图标...

网友评论

      本文标题:使用百度地图API进行定位

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