Android 百度地图开发(一)如何调用百度地图接口和在项目中显示百度地图以及实现定位
2015-09-12 12:17
2161 查看
最近在公司实习的时候,研究了一下如何调用百度地图接口,具体如何在项目中配置才能在项目中使用百度地图,这篇文章就和大家一起研究研究。
一、申请API key
调用百度地图接口前,必须去申请一个百度地图API key。首先要注册一个百度开发者账号,然后在http://lbsyun.baidu.com/apiconsole/key/create输入相关应用名称、选择应用类型为Android
SDK、启用的服务、和安全码。
如何获取安全码呢?
1、首先获取你项目的签名:选中你的项目, 点击Windows-》Preferences-》Android-》Build
2、打开项目清单AndroidMainifest.xml,获取项目报名
3、最后,安全码:项目签名+;+项目包名
申请成功后,会看到相应的API key
二、下载百度地图API库
要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,下载地址http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,下载Android地图SDK
然后添加到项目中即可。
三、在项目清单AndroidMainifest.xml配置百度地图API key和添加相关权限
四、在项目调用百度地图项目功能,这篇文章就首先讲讲显示地图和定位的功能
首先在布局中添加百度地图控件
2、在Activity中实现地图的显示以及定位。
这样我们就完成了在自己的项目调用百度地图接口,显示地图以及实现定位的功能。后期会持续介绍百度地图
的使用,欢迎大家关注
一、申请API key
调用百度地图接口前,必须去申请一个百度地图API key。首先要注册一个百度开发者账号,然后在http://lbsyun.baidu.com/apiconsole/key/create输入相关应用名称、选择应用类型为Android
SDK、启用的服务、和安全码。
如何获取安全码呢?
1、首先获取你项目的签名:选中你的项目, 点击Windows-》Preferences-》Android-》Build
2、打开项目清单AndroidMainifest.xml,获取项目报名
3、最后,安全码:项目签名+;+项目包名
申请成功后,会看到相应的API key
二、下载百度地图API库
要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,下载地址http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,下载Android地图SDK
然后添加到项目中即可。
三、在项目清单AndroidMainifest.xml配置百度地图API key和添加相关权限
四、在项目调用百度地图项目功能,这篇文章就首先讲讲显示地图和定位的功能
首先在布局中添加百度地图控件
2、在Activity中实现地图的显示以及定位。
package com.lif8.goutongbao; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapStatusUpdate; import com.baidu.mapapi.map.MapStatusUpdateFactory; import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.MyLocationData; import com.baidu.mapapi.model.LatLng; import android.app.Activity; import android.os.Bundle; public class TransitRouteActivity extends Activity{ private final static String TAG = "TransitRouteActivity"; // 全局变量 private double myLongitude; // 经度 private double myLatitude; // 纬度 boolean isFirstLoc = true;// 是否首次定位 public MyLocationListenner myListener = new MyLocationListenner(); MapView mMapView = null; // 地图View BaiduMap mBaidumap = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.transit_route_main); // 初始化地图 mMapView = (MapView) findViewById(R.id.map); mBaidumap = mMapView.getMap(); // 开启定位图层 mBaidumap.setMyLocationEnabled(true); // TODO 定位功能 // 定位初始化 LocationClient mLocClient = new LocationClient(this); mLocClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setOpenGps(true);// 打开gps option.setCoorType("bd09ll"); // 设置坐标类型 option.setScanSpan(1000); // option.setIsNeedAddress(true); mLocClient.setLocOption(option); mLocClient.start(); } // TODO 定位相关 /** * 定位SDK监听函数 */ public class MyLocationListenner implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { // 取经纬度 myLatitude = location.getLatitude(); myLongitude = location.getLongitude(); // map view 销毁后不在处理新接收的位置 if (location == null || mMapView == null) return; MyLocationData locData = new MyLocationData.Builder() .accuracy(location.getRadius()) // 此处设置开发者获取到的方向信息,顺时针0-360 .direction(100).latitude(location.getLatitude()) .longitude(location.getLongitude()).build(); if (locData != null && mBaidumap != null) mBaidumap.setMyLocationData(locData); if (isFirstLoc) { isFirstLoc = false; LatLng ll = new LatLng(location.getLatitude(), location.getLongitude()); MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll); mBaidumap.animateMapStatus(u); } } public void onReceivePoi(BDLocation poiLocation) { } } protected void onPause() { mMapView.onPause(); super.onPause(); } @Override protected void onResume() { mMapView.onResume(); super.onResume(); } @Override protected void onDestroy() { mMapView.onDestroy(); if (mBaidumap != null) mBaidumap = null; super.onDestroy(); } }
这样我们就完成了在自己的项目调用百度地图接口,显示地图以及实现定位的功能。后期会持续介绍百度地图
的使用,欢迎大家关注
相关文章推荐
- android学习笔记(22)listview初步
- android:windowSoftInputMode属性使用
- android多线程下载模块
- Android学习系列之(八)Fragment之间的数据传递与导航抽屉的实现
- Android KK台,联系人列表#集团放置A~Z之前
- Android中的菜单-ContextMenu,PopupMenu
- android---Notification通知解析
- [转载]android中The connection to adb is down,问题和解决
- Android 实现沉浸式状态栏的方法
- Android:Resources资源文件
- Android:布局实例之常见用户设置界面
- Android:res之selector背景选择器
- Android学习路线01
- Android:Tab切换方法整理
- Android简易数据存储之SharedPreferences
- android post方式传递参数并获取返回数据代码
- 【Android工具】DES终结者加密时报——AES加密演算法
- Android基础入门教程——7.5.2 WebView和JavaScrip交互基础
- Android控件之ImageView用法实例分析
- Activity的四种启动模式(LaunchMode)