在Fragment中使用BaiduMap SDK
1:fragment_bshdzh.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <Spinner
android:id="@+id/spFjName"
android:layout_width="match_parent"
android:layout_height="wrap_content"/> <com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"/> </LinearLayout>
2:BshdzhFragment.java
private Spinner spFjName = null;
private MapView mMapView = null;// 地图View
private ArrayAdapter<BshAddress> adapter = null;
private BMapManager mBMapMan = null; private MapController mMapController = null; @Override
public View onCreateView(LayoutInflater inflater, ViewGroup arg1, Bundle arg2) {
//以下两行代码一定要放到最前面,否则程序会出错
mBMapMan=new BMapManager(getActivity().getApplication());
mBMapMan.init("BQA6edrmyT8IU8tGLDIxRaFc", null); view = inflater.inflate(R.layout.fragment_bshdzh, arg1, false); init(); adapter = new ArrayAdapter<BshAddress>(
getActivity(),
android.R.layout.simple_spinner_item,
UIUtil.getBshAddrArr()
); spFjName.setAdapter(adapter); //1:读取用户设置所属分局,如果为空则默认 青岛市国家税务局
SharedPreferences sp = getActivity().getSharedPreferences(WR.NSR_INFO, Activity.MODE_PRIVATE);
int ssfj = sp.getInt(WR.W_SSFJ, 0); //获取所属分局,默认为青岛市国家税务局 //2:根据所属分局动态设置选中项
spFjName.setSelection(ssfj); spFjName.setOnItemSelectedListener(fjNameListener); initMapView(); //初始化Map return view;
} private OnItemSelectedListener fjNameListener = new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
BshAddress bshAddress = (BshAddress)spFjName.getSelectedItem();
String lon = bshAddress.lon;
String lat = bshAddress.lat; GeoPoint point =new GeoPoint((int)(Double.parseDouble(lat)* 1E6),(int)(Double.parseDouble(lon)* 1E6));
//用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
mMapController.setCenter(point);//设置地图中心点
mMapController.setZoom(15);// 设置当前层级数为15
} @Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}; /*
* 初始化地图
*/
private void initMapView(){
mMapView = (MapView)view.findViewById(R.id.bmapView);
mMapView.setBuiltInZoomControls(true);
//设置启用内置的缩放控件
mMapController=mMapView.getController();
}
private void init(){
spFjName = (Spinner)view.findViewById(R.id.spFjName);
} @Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mMapView.destroy();
if(mBMapMan!=null){
mBMapMan.destroy();
mBMapMan=null;
}
} @Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
mMapView.onPause();
if(mBMapMan!=null){
mBMapMan.stop();
}
} @Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
mMapView.onResume();
if(mBMapMan!=null){
mBMapMan.start();
}
}
3:运行结果:

在Fragment中使用BaiduMap SDK的更多相关文章
- 在Android Studio中使用BaiduMap SDK实时获取当地位置信息
配置BaiduMap 环境 1.在百度API中新建自己的一个APP包名和APP名需要注意和自己Android Studio 中的包名和APP名保持一致: 2.百度地图中还需要填写一个SHA1 数字签名 ...
- 如何在Fragment中获取context
文章转载自http://blog.csdn.net/demonliuhui/article/details/51511136 这里仅供自己学习参考: Context,中文直译为“上下文”,SDK中对其 ...
- Fragment中onActivityResult不响应
开发中遇到Fragment中onActivityResult不响应的问题,曾经见过. 不少同学说处理方法是在与Fragment绑定的FragmentActivity中重写onActivityResul ...
- Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为 ...
- 谈谈Fragment中的onActivityResult
大家或许有遇到这个神坑,在Fragment中使用startActivityForResult能够成功,可是在Fragment中的onActivityResult却无法被调用.一不注意就让人一夜愁白了头 ...
- Fragment中监听onKey事件,没你想象的那么难。
项目中越来越多的用到Fragment,在用Fragment取代TabHost的时候遇到了一个问题,我们都知道,TabHost的Tab为Activity实例,有OnKey事件,但是Fragment中没有 ...
- EventBus框架在Android多Pane(Fragment)中的应用
通常多pane的设计中,比如Fragment A是个Headline,Fragement B是detail,那么B通常需要实现A的点击事件的接口,这样子的话,两个fragment就高耦合了,而且需要在 ...
- 在Fragment中获取Activity中数据
今天要做一个功能,用Fragment显示从其所在的Acitivity1中获取到的数据.这个Activity1是从另一个带有参数Activity2跳转过来的,所以要获得的是这些参数.因为之前没遇到过,所 ...
- Data binding 在Activity,Fragment中引用以及加载其他布局
Data binding在Activity中使用: DataBindingUtil.setContentView(this, R.layout.activity_home); Data binding ...
随机推荐
- Android Content Provider简介
Content Provider是Android的四大组件之一,与Activity和Service相同,使用之前需要注册: Android系统中存在大量的应用,当不同的应用程序之间需要共享数据时,可以 ...
- 【No system images installed for this target】的解决方式
打开eclipse,新建安卓SDK模拟器时,选择完Target之后,再选择CPU/ABI时,默认为No system images installed for this target. 且无法编辑: ...
- 黑马程序员_Java面向对象_内部类
6.面向对象_内部类 1.内部类定义 内部类:将一个类定义在另一个类里面,对里面那个类就称为内部类.(内置类.嵌套类)内部类可以被私有修饰. 2.内部类访问规则 访问特点: 内部类可以直接访问外部类中 ...
- FROM CSDN TO CNBLOGS
做出了一个愉快的决定,以后会将博客从CSDN迁移到CNBLOGS 旧地址:http://blog.csdn.net/fifa0329,文章并不多 原因如下: 我再次出现了该博客违反了网站规则被关闭的问 ...
- tyvj1185营业额统计
描述 Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司 ...
- lucene 高亮显示
原文地址: http://blog.csdn.net/javaman_chen/article/details/8224407 Lucene针对高亮显示功能提供了两种实现方式,分别是Highlight ...
- 修改过mysql数据库字段内容默认值为当前时间
--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE `table_name`ADD COLUMN `CreateTime` datetime N ...
- HTML--控制小人自由移动
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 斐波那契数列 Php练手
数列从第三项开始,每一项都等于前两项之和. F0=0,F1=1,Fn=F(n-1)+F(n-2) 递归版和非递归版. <?php function fib($n){ $array = array ...
- python-文件操作(1)
本文内容涉及python打开/创建文件对象,文件的读写.文件指针位置的移动.获取命令行参数. 1. open() open函数以指定模式返回一个file对象,如: file_object = open ...