几行代码轻松实现百度定位和在地图显示指定坐标
MapAndLocate
几行代码实现定位、以及根据经纬度在地图上具体位置。定位采用的是百度定位、地图显示采用的是搜搜地图。为什么这么做,因为结合着两者:定位准确,体积最小。
项目地址:
https://github.com/Pluckypan/MapAndLocate
截图
接入说明
第一步:AndroidManifest.xml
在 AndroidManifest.xml 分别填写 在 百度定位开放平台申请的API_KEY 以及在 腾讯搜搜地图开放平台 申请的KEY
1 <!-- 百度定位 --> 2 <meta-data 3 android:name="com.baidu.lbsapi.API_KEY" 4 android:value="5n57o4BRzjq1FZGK0PbIvk4HD3iIGy8Q" /> 5 6 <!-- 腾讯地图 --> 7 <meta-data 8 android:name="TencentMapSDK" 9 android:value="FQYBZ-CKSRF-G2LJD-JW6HF-DPQKK-RSFCF" />
第二步 :添加依赖
这里以gradle为例,在项目build.gradle文件中添加。
1 dependencies { 2 compile 'com.fanglin.fenhong.mapandlocate:MapAndLocate:1.0.0' 3 }
第三步:调用
1 BaiduLocateUtil.getinstance(getApplicationContext()).start(); 2 BaiduLocateUtil.getinstance(getApplicationContext()).setCallBack(new BaiduLocateUtil.LocationCallBack() { 3 @Override 4 public void onChange(FHLocation location) { 5 if (location != null) { 6 BaiduLocateUtil.getinstance(getApplicationContext()).stop(); 7 tvMemo.setText(location.toString()); 8 } 9 } 10 11 @Override 12 public void onFailure() { 13 14 } 15 }); 16 17 LocMsg lmsg = new LocMsg(); 18 lmsg.mLat = 36.081600; 19 lmsg.mLng = 120.422760; 20 lmsg.mPoi = "青岛大学宁夏路231"; 21 22 BaiduLocateUtil.getinstance(getApplicationContext()).ShowMapLocation(lmsg);
满招损,谦受益。