百度地图学习(Ⅰ)-Android端地图的显示及简单应用

ps:(1.地图应用一定要在真机测试;

2.Design By:Android Stdio;

3.百度地图官方参考链接(http://developer.baidu.com/map/index.php?title=androidsdk);

4.如有不足,请指出,谢谢);

下面我们来研究百度地图:

【1】首先:在使用百度地图的时候需要得到百度地图官方提供的AK码,具体如何获得,请参考(http://developer.baidu.com/map/index.php?title=androidsdk/guide/key

【2】得到AK码以后需要下载百度官方提供的jar包以及so文件,具体请参考(http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool

【3】得到jar包以及so文件后需要进行在项目中的加载:

eclipse的加载方式

------------------------------------------------华丽分割线---------------------------------------

小编使用的Android Stdio进行编写的,所以讲述一下as的加载jar包以及so文件:

【添加jar包】-正如图片所看,首先应该把对应的jar包放到项目的libs文件夹下,然后需要在这个项目下的,添加这条语句:,否则你的jar包将无法使用

【添加so文件】-小编根据搜集资料,发现有这样一个方法,经测试可用,这个方法源自国外的Kyle Thielk的博客

在main文件夹下创建jinLibs,然后把armeabi复制到这个文件夹下面即可

【4】添加密钥配置权限

(添加密钥)

(配置权限)

以上代码参考(http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap

【5】添加xml布局文件

1       <com.baidu.mapapi.map.MapView
2         android:id="@+id/bmapView"
3         android:layout_width="fill_parent"
4         android:layout_height="fill_parent"
5         android:clickable="true" />

【6】书写java代码(代码实现【1.创建地图,2.显示卫星地图,3.显示实时路况】)

 1 public class MainActivity extends ActionBarActivity {
 2     private MapView mapView=null;
 3     private BaiduMap mBaiduMap=null;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         /*
 8          *注意使用SDK各组件之前初始化Context信息,传入ApplicationContext
 9          *注意该方法要在setContentView之前实现
10          */
11         SDKInitializer.initialize(getApplicationContext());
12         setContentView(R.layout.activity_main);
13         initView();
14
15     }
16
17     private void initView() {
18         mapView=(MapView)findViewById(R.id.bmapView);
19         mBaiduMap=mapView.getMap(); //从容器中得到地图
20         MapStatusUpdate msu= MapStatusUpdateFactory.zoomTo(15.0f);  //设置地图的起始标尺
21         mBaiduMap.setMapStatus(msu);
22     }
23
24     @Override
25     protected void onDestroy() {
26         super.onDestroy();
27         mapView.onDestroy();
28     }
29
30     @Override
31     protected void onResume() {
32         super.onResume();
33         mapView.onResume();
34     }
35
36     @Override
37     protected void onPause() {
38         super.onPause();
39         mapView.onPause();
40     }
41
42     /*
43      *上下文菜单
44      */
45     @Override
46     public boolean onCreateOptionsMenu(Menu menu) {
47         // Inflate the menu; this adds items to the action bar if it is present.
48         getMenuInflater().inflate(R.menu.menu_main, menu);
49         return true;
50     }
51     /*
52      *复写菜单选项的点击事件
53      */
54     @Override
55     public boolean onOptionsItemSelected(MenuItem item) {
56         switch (item.getItemId())
57         {
58             case R.id.id_map_common:
59                 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
60                 break;
61             case R.id.id_map_site:
62                 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
63                 break;
64             case R.id.id_map_traffic:
65                 if(mBaiduMap.isTrafficEnabled()){
66                     mBaiduMap.setTrafficEnabled(false);
67                     item.setTitle("实时交通(Off)");
68                 }else
69                 {
70                     mBaiduMap.setTrafficEnabled(true);
71                     item.setTitle("实时交通(On)");
72                 }
73                 break;
74         }
75
76         return super.onOptionsItemSelected(item);
77     }
78 }

【7】书写menu_main.xml

    <item   android:id="@+id/id_map_common"
            android:title="@string/map_common"
            app:showAsAction="never" />
    <item   android:id="@+id/id_map_site"
            android:title="@string/map_site"
            app:showAsAction="never" />
    <item   android:id="@+id/id_map_traffic"
            android:title="@string/map_traffic"
            app:showAsAction="never" />

【8】书写string.xml

    <string name="map_common">普通地图</string>
    <string name="map_site">卫星地图</string>
    <string name="map_traffic">实时交通(Off)</string>

【9】项目完成,效果图如下:

时间: 2024-08-30 08:37:12

百度地图学习(Ⅰ)-Android端地图的显示及简单应用的相关文章

记录Android端百度地图API使用遇到的问题

折腾了两三个夜晚,终于实现了百度地图在Android端的显示: 在这里主要总结记录一下百度地图API在Win 10 下的Android Studio中使用遇到的问题: 1.查看本机android或app的SHA1值 SHA1值用来在百度开发者控制台创建应用使用~~ 我的电脑是Win10系统,安装Android Studio的时候也没有配置jdk环境变量这些,所以在查看SHA1值得时候遇到一些问题,百度官方提供的方法是通过cmd控制台命令查看,“keytool -list -v -keystore

Arcgis andoid开发之应用百度地图接口实现精准定位与显示

怀着激动.兴奋的心情,在这个漫天柳絮的季节写下了这片博文,为什么呢,因为困扰我很久的一个技术性的问题得到了解决,发次博文,供大家参观.学习,同时,也以慰藉我长期困扰的心情,好了,废话不再,言归正传,看看这到底是个什么东西? 首先,简单地介绍一下功能:1.离线地图的加载:2.GPS的定位与显示.文字比较模糊,看看实际的效果图: 功能其实很简单,下面解释一下实现思路: 1.布局 <?xml version="1.0" encoding="utf-8"?> &

百度地图 Android SDK - 检索功能使用的简单示例

百度地图 SDK 不仅为广大开发者提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发者提供了多种 LBS 检索的能力.通过这些接口,开发者可以轻松的访问百度的 LBS 数据,丰富自己的移动端地图应用. 目前百度地图 SDK 为开发者提供的检索服务有: POI 检索:可以检索百度 POI 数据信息: 线路规划:利用百度的引擎帮助开发者规划线路: 在线建议检索.短链接分享.地理编码等等.... 本文将以一个很简单的 POI 城市内检索为例,像广大开发者介绍接口的使用. 第一步,选择并下载 SD

Android学习之高德地图的通用功能开发步骤

这次分享的心得是高德地图的开发,基本上都是按照高德官网上的API文档来进行开发,废话不多说,走起. 第一步:申请高德地图的一个key,有了这个key我们的高德地图才可以正确用起来. 至于怎么申请高德地图的key,其实很简单,这里我大概说一下步骤:打开网页http://lbs.amap.com,注册一个高德地图API的一个账号(这里我声明一下,并不是给高德打广告,我只是分享一下我的这次学习经历而已),注册成功之后,会提示你成为开发者,成为开发者之后就能获取一个key了,获取key需要填写的内容,可

百度API地图的标注不是居中显示,而是显示在左上角

对地图所在的div做了显示隐藏之类操作,标注就不是居中显示,而是显示在左上角 合理解决方式 map.panBy(305,165); html: <div id="allmap" style="width:560px;height:400px;"></div> js: var initPoint = new BMap.Point(longitude,latitude); console.log(initPoint);map.centerAndZ

Android高德地图开发详解

这段时间开发的时候用到了高德地图,对高德地图开发有心得体会,现在分享给大家,对我开发过百度地图的我来说,总体来说高德地图Demo,没有百度讲解的详细 个人更偏向于使用百度地图,但是没办发,项目需要使用高德地图,我开发的是定位,更具经纬度添加标记,标记点击事件,以及路线规划废话不多说,上代代码 那么首先导入高德给的jar,包,我开发的是2d地图, 这个包结构图,高德题图api也提供了步骤,就不多说了 下面添加权限,设置key <uses-permission android:name="an

百度地图API和高德地图API资料集锦

[高德地图API]从零开始学高德JS API(五)路线规划--驾车|公交|步行 [高德地图API]从零开始学高德JS API(四)搜索服务--POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 [高德地图API]从零开始学高德JS API(三)覆盖物--标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 [高德地图API]从零开始学高德JS API(二)地图控件与插件--测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 [高德地图API]从零开始学高德JS API

quick cocos2d x 手机(Android端)启动过程学习

简要学习下quick cocos2d x 在安卓端启动的过程. 首先需要了解一点:quick cocos2d x是依托于Android的activity和GLSurfaceView(继承自SurfaceView)的环境来显示quick层的游戏界面. (1)首先quick类的android游戏从AndroidManifest.xml文件指定的activity(假设AC)启动. (2)AC继承父类的Cocos2dxActivity. (3)调用静态初始化块,加载cocos2dx的动态库.也就是一些C

百度、高德开撕地图,手机地图第一争霸背后的阳谋

百度更多是C端用户使用频率更高,高德在B端用途更大,地图争霸,目标却是O2O 文/张书乐 这个周末,地图行业第一之争的舆论战打得火热.此次口水战的起源是高德单方面宣称"已成为行业第一",隔空喊话百度地图"不服来战",并宣称将允许第三方数据公司QuestMobile监测验证.百度地图第一时间发文回应,甩出三家权威机构数据和用户评测结果,吊打高德数据"掺水".不过,高德并未消停,仍放话坚持用第三方数据说话.面对友商如是挑衅,百度地图官方再度强势回应,