在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 ...
随机推荐
- 桌面上嵌入窗口(桌面日历)原理探索(将该窗口的Owner设置成桌面的Shell 窗口,可使用SetWindowLong更改窗口的GWL_HWNDPARENT,还要使用SetWindowPos设置Z-Order)
今天在QQ群里有人问怎样实现将自己的窗口嵌入桌面,让它和桌面融为一体,就像很多桌面日历软件那样. 我当时想到的就是建立一个Child Window,将他的父窗口设置成桌面Shell窗口就可以了.但是 ...
- Awesome Go
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contrib ...
- ImageMagick提取图像原始数据(ImageData/RawData)
我用的是ImageMagickWand的接口,因为这接口比Core接口更上层,所以官方文档推荐用. 抽取整个图像文件字节数据: http://www.imagemagick.org/discourse ...
- 11G在线重建索引
SQL> select count(*) from test_idx; COUNT(*) ---------- 19087751 SQL> select segment_name,segm ...
- 以Crypto++实现RSA加解密二进制数据
网上一大片讲怎么加解密字符串的,找了大半天也没找到讲加解密二进制数据的,于是自己研究了下,分享给大家. 加解密函数: #include <rsa.h> #include <randp ...
- C++基础回顾1(数据类型, 控制语句, 数组)
最近两天打开本科学校的C++教材,快速回顾了一下C++方面的内容.虽然书本内容比较基础,但是还是有些知识点值得自己强化记忆.分几篇文章,加上自己的理解记录如下. 先回顾面向过程的部分. C++数据类型 ...
- hdu 3836 Equivalent Sets(tarjan+缩点)
Problem Description To prove two sets A and B are equivalent, we can first prove A is a subset of B, ...
- iphone真机开发流程之--证书申请
一.申请 1.进入ios开发者中心 http://www.apple.com.cn/developer/ios/index.html 2.点击登录 输入用户名和密码(前提:已经有Apple ID,且花 ...
- AVL旋转树
执行插入操作可能出现不平衡的情况,当平衡二叉树.AVL这树是一种自平衡二叉树,使二叉树又一次保持平衡.而且查找.插入和删除操作在平均和最坏情况下时间复杂度都是O(log n) AVL树的旋转一共同拥有 ...
- javaweb中去除某个get方式的参数,并且返回路径
String requestURL = request.getRequestURL() + ""; // String queryString = request.getQuery ...