1.下载百度地图的demo,下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar

2.把demo里面的BaiduMapsApiDemo解压,把BaiduMapsApiDemo文件夹里面的libs里面的所有文件都复制到自己的项目的libs里面

3.配置AndroidManifest.xml,把BaiduMapsApiDemo文件夹里面的AndroidManifest.xml有关百度地图要使用的配置信息复制到自己的AndroidManifest.xml里面

这是我配置好的例子的AndroidManifest.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.zzw.baidumappoint"
  4. android:versionCode="1"
  5. android:versionName="1.0" >
  6.  
  7. <uses-sdk
  8. android:minSdkVersion="14"
  9. android:targetSdkVersion="21" />
  10.  
  11. <application
  12. android:allowBackup="true"
  13. android:icon="@drawable/ic_launcher"
  14. android:label="@string/app_name"
  15. android:theme="@style/AppTheme" >
  16. <activity
  17. android:name=".MainActivity"
  18. android:label="@string/app_name" >
  19. <intent-filter>
  20. <action android:name="android.intent.action.MAIN" />
  21.  
  22. <category android:name="android.intent.category.LAUNCHER" />
  23. </intent-filter>
  24. </activity>
  25.  
  26. <meta-data
  27. android:name="com.baidu.lbsapi.API_KEY"
  28. android:value="tpBieaHroLK1LeSkOQWLzq6A" />
  29.  
  30. <service
  31. android:name="com.baidu.location.f"
  32. android:enabled="true"
  33. android:process=":remote" >
  34. </service>
  35. </application>
  36.  
  37. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
  38. </uses-permission>
  39. <uses-permission android:name="android.permission.INTERNET" >
  40. </uses-permission>
  41. <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
  42. <uses-permission android:name="android.permission.WAKE_LOCK" >
  43. </uses-permission>
  44. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
  45. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  46. <!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用? -->
  47. <uses-permission android:name="android.permission.GET_TASKS" />
  48. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
  49. </uses-permission>
  50. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  51. <!-- 这个权限用于进行网络定位 -->
  52. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
  53. </uses-permission>
  54. <!-- 这个权限用于访问GPS定位 -->
  55. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
  56. </uses-permission>
  57. <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
  58. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
  59. </uses-permission>
  60. <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
  61. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
  62. </uses-permission>
  63. <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
  64. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
  65. </uses-permission>
  66. <!-- 用于读取手机当前的状态 -->
  67. <uses-permission android:name="android.permission.READ_PHONE_STATE" >
  68. </uses-permission>
  69. <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
  70. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
  71. </uses-permission>
  72. <!-- 访问网络,网络定位需要上网 -->
  73. <uses-permission android:name="android.permission.INTERNET" />
  74. <!-- SD卡读取权限,用户写入离线定位数据 -->
  75. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
  76. </uses-permission>
  77. <!-- 允许应用读取低级别的系统日志文件 -->
  78. <uses-permission android:name="android.permission.READ_LOGS" >
  79. </uses-permission>
  80.  
  81. </manifest>

AndroidManifest.xml

4.代码:

activity_main.xml:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. tools:context="com.zzw.baidumappoint.MainActivity" >
  6.  
  7. <com.baidu.mapapi.map.MapView
  8. android:id="@+id/mapView"
  9. android:layout_width="match_parent"
  10. android:layout_height="match_parent" />
  11.  
  12. </RelativeLayout>

MainActivity.java:

  1. package com.zzw.baidumappoint;
  2.  
  3. import com.baidu.location.BDLocation;
  4. import com.baidu.location.BDLocationListener;
  5. import com.baidu.location.LocationClient;
  6. import com.baidu.location.LocationClientOption;
  7. import com.baidu.mapapi.SDKInitializer;
  8. import com.baidu.mapapi.map.BaiduMap;
  9. import com.baidu.mapapi.map.MapStatusUpdate;
  10. import com.baidu.mapapi.map.MapStatusUpdateFactory;
  11. import com.baidu.mapapi.map.MapView;
  12. import com.baidu.mapapi.map.MyLocationData;
  13. import com.baidu.mapapi.model.LatLng;
  14.  
  15. import android.app.Activity;
  16. import android.os.Bundle;
  17.  
  18. public class MainActivity extends Activity {
  19.  
  20. private LocationClient mLocationClient;
  21. private BaiduMap mBaiduMap;
  22.  
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. SDKInitializer.initialize(getApplicationContext());//是程序不崩溃的作用
  27. setContentView(R.layout.activity_main);
  28.  
  29. // 获取LocationClient
  30. mLocationClient = new LocationClient(this);
  31.  
  32. LocationClientOption option = new LocationClientOption();
  33. option.setCoorType("bd09ll");
  34. mLocationClient.setLocOption(option);
  35.  
  36. // 获取BaiduMap
  37. MapView mapView = (MapView) findViewById(R.id.mapView);
  38. mBaiduMap = mapView.getMap();
  39.  
  40. // 显示出当前位置的小图标
  41. mBaiduMap.setMyLocationEnabled(true);
  42.  
  43. MyLocationListener mListener = new MyLocationListener();
  44. mLocationClient.registerLocationListener(mListener);
  45. mLocationClient.start();
  46. }
  47.  
  48. @Override
  49. protected void onDestroy() {
  50. mLocationClient.stop();
  51. super.onDestroy();
  52. }
  53.  
  54. private class MyLocationListener implements BDLocationListener {
  55.  
  56. @Override
  57. public void onReceiveLocation(BDLocation location) {
  58.  
  59. // 只是完成了定位
  60. MyLocationData locData = new MyLocationData.Builder().latitude(location.getLatitude())
  61. .longitude(location.getLongitude()).build();
  62.  
  63. //设置图标在地图上的位置
  64. mBaiduMap.setMyLocationData(locData);
  65.  
  66. // 开始移动百度地图的定位地点到中心位置
  67. LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
  68. MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, 16.0f);
  69. mBaiduMap.animateMapStatus(u);
  70. }
  71.  
  72. }
  73.  
  74. }

通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)的更多相关文章

  1. HTML5调用百度地图API获取当前位置并直接导航目的地的方法

    <!DOCTYPE html> <html lang="zh-cmn-Hans">     <meta charset="UTF-8&quo ...

  2. HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地

    <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...

  3. 网页百度地图api,支持位置偏移

    网页百度地图api,支持位置偏移 需加载 jq <style type="text/css"> #allmap {width:100%; height:100%; bo ...

  4. 【百度地图API】北京周边7日游——图标按路线轨迹行动

    原文:[百度地图API]北京周边7日游--图标按路线轨迹行动 任务描述: 春节就要来啦~酸奶小妹的妈妈要从遥远的重庆,来到北京过春节呢!酸奶小妹忙着给妈妈计划,北京周边的旅游线路.计划好路线后,就开始 ...

  5. 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决

    当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...

  6. 通过百度地图API实现搜索地址--第三方开源--百度地图(三)

    搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...

  7. 转:zTree树控件key配置之title:zTree树节点名称过长如何省略显示且鼠标移入节点上能够显示全称

    当树节点的名称有些很长时,全部显示出来显得很拥挤的情况下,我们会想到用省略节点名称来代替,当鼠标移入节点时能够显示该节点的全称.这样我们应该如何做呢? 首先,我们要在树的节点内多增加一个属性用于设置该 ...

  8. DIV内容超出长度显示省略号,鼠标移上自动显示全部内容(EasyUI DataGrid)

    如果想把DIV中超出的文本显示成省略号,而不是换行全部显示,有2个办法. 注:本文主要是以EasyUI的DataGrid为案例的,如果是其他场景只要底层是用DIV显示文本的应该都能使用. 首先可以给此 ...

  9. PC上图标显示异常 白色框框处理方案

    步骤如下: 1.打开360安全卫士,点击图标显示异常的立即修复 2.修复完,图标就正常了 3.分析原因: 可能是我用了魔方优化大师(TweakerCube)优化了桌面快捷方式(去掉箭头)引起的,而且是 ...

随机推荐

  1. 【Python Lib】解析HTML利器 BeautifulSoup

    - - 官方API文档,中文版 http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html - 以后会把常用的摘录出来

  2. viewflipper动画切换屏幕

    整个项目的 package com.example.viewflipper; import android.R.integer; import android.app.Activity; import ...

  3. cordova发送邮件插件:ngcordova plugin-Email Composer

    这是ngcordova里边的一个发送邮件的插件,具体的使用方法为: (参考文档:http://ngcordova.com/docs/plugins/emailComposer/) 1.首先下载插件: ...

  4. codeforces 678C C. Joty and Chocolate(水题)

    题目链接: C. Joty and Chocolate time limit per test 1 second memory limit per test 256 megabytes input s ...

  5. 浅谈我眼中的ASP.NET MVC

    坦白地说,学习MVC是前一段时间的事情了.但是,我当时虽然也实践过,却也不能很好的说出个所以然来.因此,也 一直没敢写点什么文字总结.最近,开始学习EF,也同时在使用MVC来结合EF实践增删改查.慢慢 ...

  6. 十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象

    一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...

  7. 在Windows Server 2012 中安装 .NET 3.5 Framework,PowerShell 安装.NET FRAMEWORK

    问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...

  8. mac下apache的多站点配置

    以下操作均建立在    已经配置好了php环境 从网上搜索了下,后来自己配置了下还是比较简单的! 我的环境目录是在/Library/webServer/Documents 测试的时候可以直接在这里建立 ...

  9. C#反射技术的简单操作(读取和设置类的属性)

    public class A { public int Property1 { get; set; } } static void Main(){ A aa = new A(); Type type ...

  10. tar命令: 对某目录文件打tar包时,排除指定的目录或文件

     如某当前目录存在以下文件或目录: 1.txt2.txt3.txtdir1dir2my2015.tarmy2016.tar 若要对当前目录除1.txt 和dir1.tar外,打包tar 步骤一.建立e ...