在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 ...
随机推荐
- cf B. Vasya and Public Transport
http://codeforces.com/contest/355/problem/B #include <cstdio> #include <cstring> #includ ...
- 从客户端(txtNewsContent="<hr />")中检测到有潜在危险的 Request.Form 值。怎么办呀?
<system.web><httpRuntime requestValidationMode="2.0" executionTimeout="3600& ...
- C51的模块化设计方法
一个大的单片机程序往往包含很多模块,我是这样组织的: 1.每一个C源文件都要建立一个与之名字一样的H文件(头文件),里面仅仅包括该C文件的函数的声明,其他的什么也不会有,比如变量的定义啊等等不应该有. ...
- JPA中以HibernatePersistence为provider的批量插入问题
为什么要批量插入 要插入10000条数据,如果不批量插入的话,那么我们执行的sql语句将是10000条insert insert into member (group_id, user_id, rol ...
- Mac系统升级到10.9(mavericks)时安装php扩展问题解决(转)
问题一: 执行执行 phpize 报错: grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include ...
- jsDelivr - Free open source CDN for javascript libraries, jQuery plugins, CSS frameworks, Fonts and more
jsDelivr - Free open source CDN for javascript libraries, jQuery plugins, CSS frameworks, Fonts and ...
- http2.0 相对于 http1.1的优势
1.http2.0完全是多路复用的,只需一个连接就可实现并行 可以将不同的请求夹杂在一起,只需一个连接就能加载一个页面. 2.可以让服务器将响应主动推动到客户端缓存中 当浏览器请求一个网页时,服务器除 ...
- Android自定义控件(二)——有弹性的ScrollView
本文在http://gundumw100.iteye.com/blog/1075286的基础上稍作修改, 实现了当手指滑动到ScrollView的顶部.底部时, 可以继续的向上.向下拉伸.当释放手指的 ...
- BGP
http://network.51cto.com/art/200912/172439.htm http://blog.sina.com.cn/s/blog_b457dde80101cyqr.html ...
- DotNet加密方式解析--散列加密
没时间扯淡类,赶紧上车吧. 在现代社会中,信息安全对于每一个人都是至关重要的,例如我们的银行账户安全.支付宝和微信账户安全.以及邮箱等等,说到信息安全,那就必须得提到加密技术,至于加密的一些相关概念, ...