通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)
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:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.zzw.baidumappoint"
- android:versionCode="1"
- android:versionName="1.0" >
- <uses-sdk
- android:minSdkVersion="14"
- android:targetSdkVersion="21" />
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name=".MainActivity"
- android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <meta-data
- android:name="com.baidu.lbsapi.API_KEY"
- android:value="tpBieaHroLK1LeSkOQWLzq6A" />
- <service
- android:name="com.baidu.location.f"
- android:enabled="true"
- android:process=":remote" >
- </service>
- </application>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
- </uses-permission>
- <uses-permission android:name="android.permission.INTERNET" >
- </uses-permission>
- <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
- <uses-permission android:name="android.permission.WAKE_LOCK" >
- </uses-permission>
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用? -->
- <uses-permission android:name="android.permission.GET_TASKS" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
- </uses-permission>
- <uses-permission android:name="android.permission.WRITE_SETTINGS" />
- <!-- 这个权限用于进行网络定位 -->
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
- </uses-permission>
- <!-- 这个权限用于访问GPS定位 -->
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
- </uses-permission>
- <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
- </uses-permission>
- <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
- </uses-permission>
- <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
- </uses-permission>
- <!-- 用于读取手机当前的状态 -->
- <uses-permission android:name="android.permission.READ_PHONE_STATE" >
- </uses-permission>
- <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
- </uses-permission>
- <!-- 访问网络,网络定位需要上网 -->
- <uses-permission android:name="android.permission.INTERNET" />
- <!-- SD卡读取权限,用户写入离线定位数据 -->
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
- </uses-permission>
- <!-- 允许应用读取低级别的系统日志文件 -->
- <uses-permission android:name="android.permission.READ_LOGS" >
- </uses-permission>
- </manifest>
AndroidManifest.xml
4.代码:
activity_main.xml:
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="com.zzw.baidumappoint.MainActivity" >
- <com.baidu.mapapi.map.MapView
- android:id="@+id/mapView"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
- </RelativeLayout>
MainActivity.java:
- package com.zzw.baidumappoint;
- import com.baidu.location.BDLocation;
- import com.baidu.location.BDLocationListener;
- import com.baidu.location.LocationClient;
- import com.baidu.location.LocationClientOption;
- import com.baidu.mapapi.SDKInitializer;
- 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 MainActivity extends Activity {
- private LocationClient mLocationClient;
- private BaiduMap mBaiduMap;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- SDKInitializer.initialize(getApplicationContext());//是程序不崩溃的作用
- setContentView(R.layout.activity_main);
- // 获取LocationClient
- mLocationClient = new LocationClient(this);
- LocationClientOption option = new LocationClientOption();
- option.setCoorType("bd09ll");
- mLocationClient.setLocOption(option);
- // 获取BaiduMap
- MapView mapView = (MapView) findViewById(R.id.mapView);
- mBaiduMap = mapView.getMap();
- // 显示出当前位置的小图标
- mBaiduMap.setMyLocationEnabled(true);
- MyLocationListener mListener = new MyLocationListener();
- mLocationClient.registerLocationListener(mListener);
- mLocationClient.start();
- }
- @Override
- protected void onDestroy() {
- mLocationClient.stop();
- super.onDestroy();
- }
- private class MyLocationListener implements BDLocationListener {
- @Override
- public void onReceiveLocation(BDLocation location) {
- // 只是完成了定位
- MyLocationData locData = new MyLocationData.Builder().latitude(location.getLatitude())
- .longitude(location.getLongitude()).build();
- //设置图标在地图上的位置
- mBaiduMap.setMyLocationData(locData);
- // 开始移动百度地图的定位地点到中心位置
- LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
- MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, 16.0f);
- mBaiduMap.animateMapStatus(u);
- }
- }
- }
通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)的更多相关文章
- HTML5调用百度地图API获取当前位置并直接导航目的地的方法
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8&quo ...
- HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...
- 网页百度地图api,支持位置偏移
网页百度地图api,支持位置偏移 需加载 jq <style type="text/css"> #allmap {width:100%; height:100%; bo ...
- 【百度地图API】北京周边7日游——图标按路线轨迹行动
原文:[百度地图API]北京周边7日游--图标按路线轨迹行动 任务描述: 春节就要来啦~酸奶小妹的妈妈要从遥远的重庆,来到北京过春节呢!酸奶小妹忙着给妈妈计划,北京周边的旅游线路.计划好路线后,就开始 ...
- 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决
当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...
- 通过百度地图API实现搜索地址--第三方开源--百度地图(三)
搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...
- 转:zTree树控件key配置之title:zTree树节点名称过长如何省略显示且鼠标移入节点上能够显示全称
当树节点的名称有些很长时,全部显示出来显得很拥挤的情况下,我们会想到用省略节点名称来代替,当鼠标移入节点时能够显示该节点的全称.这样我们应该如何做呢? 首先,我们要在树的节点内多增加一个属性用于设置该 ...
- DIV内容超出长度显示省略号,鼠标移上自动显示全部内容(EasyUI DataGrid)
如果想把DIV中超出的文本显示成省略号,而不是换行全部显示,有2个办法. 注:本文主要是以EasyUI的DataGrid为案例的,如果是其他场景只要底层是用DIV显示文本的应该都能使用. 首先可以给此 ...
- PC上图标显示异常 白色框框处理方案
步骤如下: 1.打开360安全卫士,点击图标显示异常的立即修复 2.修复完,图标就正常了 3.分析原因: 可能是我用了魔方优化大师(TweakerCube)优化了桌面快捷方式(去掉箭头)引起的,而且是 ...
随机推荐
- 【Python Lib】解析HTML利器 BeautifulSoup
- - 官方API文档,中文版 http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html - 以后会把常用的摘录出来
- viewflipper动画切换屏幕
整个项目的 package com.example.viewflipper; import android.R.integer; import android.app.Activity; import ...
- cordova发送邮件插件:ngcordova plugin-Email Composer
这是ngcordova里边的一个发送邮件的插件,具体的使用方法为: (参考文档:http://ngcordova.com/docs/plugins/emailComposer/) 1.首先下载插件: ...
- codeforces 678C C. Joty and Chocolate(水题)
题目链接: C. Joty and Chocolate time limit per test 1 second memory limit per test 256 megabytes input s ...
- 浅谈我眼中的ASP.NET MVC
坦白地说,学习MVC是前一段时间的事情了.但是,我当时虽然也实践过,却也不能很好的说出个所以然来.因此,也 一直没敢写点什么文字总结.最近,开始学习EF,也同时在使用MVC来结合EF实践增删改查.慢慢 ...
- 十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象
一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...
- 在Windows Server 2012 中安装 .NET 3.5 Framework,PowerShell 安装.NET FRAMEWORK
问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...
- mac下apache的多站点配置
以下操作均建立在 已经配置好了php环境 从网上搜索了下,后来自己配置了下还是比较简单的! 我的环境目录是在/Library/webServer/Documents 测试的时候可以直接在这里建立 ...
- C#反射技术的简单操作(读取和设置类的属性)
public class A { public int Property1 { get; set; } } static void Main(){ A aa = new A(); Type type ...
- tar命令: 对某目录文件打tar包时,排除指定的目录或文件
如某当前目录存在以下文件或目录: 1.txt2.txt3.txtdir1dir2my2015.tarmy2016.tar 若要对当前目录除1.txt 和dir1.tar外,打包tar 步骤一.建立e ...