Android下如何使用地图sdk
墩墩已蹲蹲i
2.1(v
1.
3.5及以前版本支持
1.5以上系统)及以上版本设备的应用程序接口 可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问地图服务和数据,构建功能丰富、交互性强的LBS(地图类)应用程序。 地图Android SDK提供的所有服务是免费的,接口使用无次数限制。您需申请密钥()后,才可使用地图Android SDK。任何非营利性产品请直接使用。这弦外之音就是盈利的产品必须帮给钱。
一、地图平台。 地图API:链接 地图开发步骤是 ①获取密钥 ②申请新密钥及查看原先申请的密钥 ③开发指南 在安卓平台上使用地图的开发指南 ④类参考 地图库所提供的类及方法说明相关 ⑤开发所使用的相关包及说明示例下例 哝,这就是地图的apk平台的界面: 首先,我们来申请。 步骤也非常的简单: ①点击获取密钥 ②进入密钥申请页并阅读相关的使用条款 ③勾选 已阅读并同意条款 ④填写应用名称 填写一下应用的相应功能及描述 ⑤输入验证码确定后 ⑥密钥即可申请成功 我申请的如下图所示: 如何把申请下来的jar包导入到项目中了。
一、在工程里新建libs文件夹(若不存在的话),将开发包里的baidumap_v2_1_
1.jar 拷贝到libs根目录下,将libapp_BaiduMapApplib_v2_1_
1.so和libvi_voslib.so 拷贝到libsarmeabi目录下。
二、项目属性中Java Build Path->Order and Export中,确定Android Private Libaries与Android Dependencies这两项前面的选择框被选上后,
三、点确定 菜单Project->clean重新编译项目后就可以正常使用地图中的功能进行编程了。
四、上图包中的liblockSDK
3.
1.jar及对应的so文件是用于标注与搜索功能的,如果不需要可以不加入到项目当中 jar包的架构如下图所示: 到入jar包的样子也如下图所示: 在清单文件下,要添加一下的权限。 <supports-screens :anyDensity="true" :largeScreens="true" :normalScreens="true" :resizeable="true" :smallScreens="true" /> 对需要加载地图的Activity进行属性设置 <activity :name="com.dfrz.map.DFRZMapActivity" :configChanges="orientation|boardHidden|screenSize" :label="@string/app_name" :screenOrientation="sensor" > </activity> 这些准备工作做好以后,我们需要到入相应的map控件 <com.baidu.map.map.MapView :id="@+id/bmapsView" :layout_width="match_parent" :layout_height="wrap_content" :layout_weight="1" :clickable="true" /> 上述xml的源代码就是这个就是加载地图的控件框,这个布局你可以根据自己的需要进行调整,或是放置到你的Activity需要的地方去。此控件需要接收到点击,所以需要把clickable设置成true。 的地图的原理就是这样的。。。。。。。。。。。 地图、标注、搜索功能都需要用BMapManager对象来管理, BMapManager提供四个接口:init()、start()、stop()、destroy()。在应用程序里生成BMapManager 对象并初始化,在程序退出时调用destroy(),在需要使用sdk功能的Activity的onCreate()方法里调用start()方 法,onDestroy()方法里调用stop()方法,或者onResume()/onPause()分别调用start()和stop()。 常用方法: destroy() : 在程序退出前调用 boolean init(java.lang.String strKey, MKGeneralListener listener) 初始化地图引擎,需要送入申请的地图Key boolean start() :开启地图API boolean stop(): 终止地图API,调用此函数后,不会再发生回调。 MapView——地图的显示者。 一个显示地图的视图控件,当被焦点选中时,它能捕获按键和触摸手势去平移和缩放地图 setBuiltInZoomControls(boolean on):设置是否启用内置的缩放控件 getController():返回地图的MapController,这个对象可用于控制和驱动平移和缩放 setDoubleClickZooming(boolean bDoubleClickZooming) : 设置mapview是否支持双击放大效果 getOverlays():获取当时地图控件中的已有图层 refresh(): 刷新此地图控件。 怎么用地图实现了标注了,这就需要LocationClient 标注处理功能的核心类 registerLocationListener(BDLocationListener)接收到标注数据后可由指定监听器中的 onReceiveLocation(BDLocation)的方法来接收相关的数据并做相关的处理 构造: new LocationClient(getApplicationContext()) setLocOption(LocationClientOption)设置标注的参数 start()启动标注功能,此功能是持续的,可以定义间隔刷新时间 stop()结束标注功能,但前面设置的标注参数不会消失,可以再启动 requestLocation() 发起异步标注请求,如果位置没有变化,不会发起网络请求,直接返回上次的位置。(2次间隔需要大于1秒) LocationClientOption 用于标注的操作的类。 设置标注功能的标注方式 disableCache(boolean) 真表示禁用缓存标注 setOpenGPS(boolean) 是否使用GPS标注,前提是手机打开了GPS标注 setAddrType(String) 当字串为"all"时返回此位置地址信息,其它不返回 setCoorType(String) 设置返回坐标的格式 gcj02 - 国测局 bd09墨卡托 bd0911经纬坐标(手机默认) setScanSpan(int) 定时标注的时间间隔(ms) 此值大于1000时,每隔此值指定的时间就会发起一次标注 此值小于1000时或不设置此值时,调用一次requestLocation()方法则标注一次 这是我们需要定义mainactivity的类。相应源代码如图所示: protected void onDestroy() { mapView.destroy(); if (mapManager != null) { mapManager.destroy(); mapManager = null; } super.onDestroy(); } 有了这些准备以后,相应运行的效果如下: 这就是下地图应用的大概步骤。
2021-09-23 17:37:54 1079查看 1回答
2021-09-23 17:46:17 372查看 3回答
2021-09-23 17:46:17 628查看 3回答
2021-09-23 17:46:21 346查看 3回答
2021-09-23 17:51:32 508查看 2回答
2021-09-23 17:53:03 436查看 1回答