当前位置: 首页 > news >正文

百度地图3.1.0(二)基于MapFragment的基本地图

基于Fragment的百度Map也很简单

直接看例子吧:

AndroidManifest.xml的配置:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.testbaidu_v_3_1"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6 
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="21" />
10 
11     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
12     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
13     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
14     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
15     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
16     <uses-permission android:name="android.permission.INTERNET" />
17     <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
18     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
19     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
20     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
21     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
22     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
23     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
24     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
25 
26     <application
27         android:allowBackup="true"
28         android:icon="@drawable/ic_launcher"
29         android:label="@string/app_name"
30         android:theme="@style/AppTheme" >
31         <meta-data
32             android:name="com.baidu.lbsapi.API_KEY"
33             android:value="your key" />
34         
35         <activity
36             android:name=".MapFragment"
37             android:label="@string/app_name" >
38             <intent-filter>
39                 <action android:name="android.intent.action.MAIN" />
40 
41                 <category android:name="android.intent.category.LAUNCHER" />
42             </intent-filter>
43         </activity>
44     </application>
45 
46 </manifest>

MapFragment类:

 1 package com.example.testbaidu_v_3_1;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.content.IntentFilter;
 7 import android.os.Bundle;
 8 import android.support.v4.app.FragmentActivity;
 9 import android.support.v4.app.FragmentManager;
10 import android.widget.Toast;
11 
12 import com.baidu.mapapi.SDKInitializer;
13 import com.baidu.mapapi.map.BaiduMapOptions;
14 import com.baidu.mapapi.map.MapStatus;
15 import com.baidu.mapapi.map.SupportMapFragment;
16 
17 public class MapFragment extends FragmentActivity{
18 
19     private SupportMapFragment map;
20     private SDKReceiver mReceiver;
21     
22     @Override
23     public void onCreate(Bundle savedInstanceState) {
24         // 在使用SDK各组件之前初始化context信息,传入ApplicationContext
25                 // 注意该方法要再setContentView方法之前实现
26                 SDKInitializer.initialize(getApplicationContext());
27         super.onCreate(savedInstanceState);
28         setContentView(R.layout.activity_fragment);
29         MapStatus ms = new MapStatus.Builder().overlook(-20).zoom(15).build();
30         //overlook 设置地图俯仰角
31         //zoom 设置地图缩放级别
32         BaiduMapOptions bo = new BaiduMapOptions().mapStatus(ms)
33                 .compassEnabled(false).zoomControlsEnabled(false);
34         //compassEnabled 设置是否允许指南针,默认允许
35         //zoomControlsEnabled 设置是否显示缩放控件
36         map = SupportMapFragment.newInstance(bo);
37         FragmentManager manager = getSupportFragmentManager();
38         manager.beginTransaction().add(R.id.map, map, "map_fragment").commit();
39         
40         IntentFilter iFilter = new IntentFilter();
41         iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
42         iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
43         mReceiver = new SDKReceiver();
44         registerReceiver(mReceiver, iFilter);
45     }
46 
47     protected void onDestroy() {
48         super.onDestroy();
49         // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
50         unregisterReceiver(mReceiver);
51     }
52     
53     public class SDKReceiver extends BroadcastReceiver {
54         public void onReceive(Context context, Intent intent) {
55             String s = intent.getAction();
56             if (s.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
57                 Toast.makeText(MapFragment.this,
58                         "key 验证出错! 请在 AndroidManifest.xml 文件中检查 key 设置",
59                         Toast.LENGTH_SHORT).show();
60                 ;
61             } else if (s
62                     .equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
63                 Toast.makeText(MapFragment.this, "网络出错", Toast.LENGTH_SHORT)
64                         .show();
65             }
66         }
67     }
68 }

activity_fragment.xml文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="fill_parent"
 4     android:layout_height="fill_parent"
 5     android:orientation="vertical" >
 6 
 7     <FrameLayout
 8         android:id="@+id/map"
 9         android:layout_width="match_parent"
10         android:layout_height="match_parent" />
11 
12 </LinearLayout>

运行结果截图:

转载于:https://www.cnblogs.com/creasylai19/p/3921179.html

相关文章:

  • XAMPP PHPSTORM XDEBUG 配合使用
  • java中有关线程的题目
  • linux中的僵尸进程
  • 图练习-BFS-从起点到目标点的最短步数(sdut 2830)邻接边表
  • Skill Level 4 D23
  • 《程序员的数学》读后感
  • 2014年8月21日   第一天学习linux linux的下载地址
  • android api doc 一
  • Oracle中的copy from导数
  • Hadoop:Task process exit with nonzero status of 1 异常
  • HTML的认识
  • 【HDOJ】4983 Goffi and GCD
  • StarkSoft题库管理系统(二)--生成word格式试卷
  • PXE结合kiskstart实现自动化安装系统
  • dm6446开发大全资料号称宇宙最全
  • Angular 响应式表单 基础例子
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • ES6 ...操作符
  • JavaScript DOM 10 - 滚动
  • Java知识点总结(JavaIO-打印流)
  • Map集合、散列表、红黑树介绍
  • Next.js之基础概念(二)
  • Promise面试题,控制异步流程
  • React中的“虫洞”——Context
  • 闭包,sync使用细节
  • 多线程事务回滚
  • 工作中总结前端开发流程--vue项目
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 蓝海存储开关机注意事项总结
  • 老板让我十分钟上手nx-admin
  • 批量截取pdf文件
  • 通信类
  • 正则与JS中的正则
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 积累各种好的链接
  • # 达梦数据库知识点
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #ifdef 的技巧用法
  • #stm32驱动外设模块总结w5500模块
  • (solr系列:一)使用tomcat部署solr服务
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (七)理解angular中的module和injector,即依赖注入
  • (四)linux文件内容查看
  • (五)关系数据库标准语言SQL
  • (一)appium-desktop定位元素原理
  • (一)插入排序
  • (一一四)第九章编程练习
  • (转载)Linux网络编程入门
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET MVC 验证码
  • .Net各种迷惑命名解释
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • /etc/fstab 只读无法修改的解决办法