百度地图3.1.0(三)图层展示


基于之前的文章百度地图3.1.0(一)Hello BaiduMap(http://www.cnblogs.com/creasylai19/p/3921053.html) 添加的功能

主要是添加了三个Button,代码如下

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical"
 6     tools:context="com.example.testbaidu_v_3_1.MainActivity" >
 7 
 8     <LinearLayout
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:orientation="horizontal" >
12 
13         <Button
14             android:layout_width="0dp"
15             android:layout_height="wrap_content"
16             android:layout_weight="1"
17             android:onClick="openNormalMode"
18             android:text="普通地图" />
19 
20         <Button
21             android:layout_width="0dp"
22             android:layout_height="wrap_content"
23             android:layout_weight="1"
24             android:onClick="openSatelliteMode"
25             android:text="卫星地图" />
26 
27         <Button
28             android:layout_width="0dp"
29             android:layout_height="wrap_content"
30             android:layout_weight="1"
31             android:onClick="openTraffic"
32             android:text="交通图" />
33     </LinearLayout>
34 
35     <com.baidu.mapapi.map.MapView
36         android:id="@+id/bmapView"
37         android:layout_width="fill_parent"
38         android:layout_height="fill_parent"
39         android:clickable="true" />
40 
41 </LinearLayout>

MainActivity改成:

 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.v7.app.ActionBarActivity;
 9 import android.view.View;
10 import android.widget.Toast;
11 
12 import com.baidu.mapapi.SDKInitializer;
13 import com.baidu.mapapi.map.BaiduMap;
14 import com.baidu.mapapi.map.MapView;
15 
16 public class MainActivity extends ActionBarActivity {
17 
18     private MapView mMapView = null;
19     private SDKReceiver mReceiver;
20     private BaiduMap mBaiduMap;
21     private boolean trafficStatus = false;
22 
23     protected void onCreate(Bundle savedInstanceState) {
24         super.onCreate(savedInstanceState);
25         // 在使用SDK各组件之前初始化context信息,传入ApplicationContext
26         // 注意该方法要再setContentView方法之前实现
27         SDKInitializer.initialize(getApplicationContext());
28         setContentView(R.layout.activity_main);
29         // 获取地图控件引用
30         mMapView = (MapView) findViewById(R.id.bmapView);
31         mBaiduMap = mMapView.getMap();
32 
33         // 看baidu的Demo,发现它注册这个广播,用来监听SDKInitializer的初始化
34         IntentFilter iFilter = new IntentFilter();
35         iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
36         iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
37         mReceiver = new SDKReceiver();
38         registerReceiver(mReceiver, iFilter);
39     }
40 
41     public void openNormalMode(View mView) {
42         mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
43     }
44 
45     public void openSatelliteMode(View mView) {
46         mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
47     }
48 
49     public void openTraffic(View mView) {
50         if (trafficStatus) {
51             mBaiduMap.setTrafficEnabled(false);
52             trafficStatus = false;
53         } else {
54             mBaiduMap.setTrafficEnabled(true);
55             trafficStatus = true;
56         }
57     }
58 
59     protected void onDestroy() {
60         super.onDestroy();
61         // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
62         mMapView.onDestroy();
63         unregisterReceiver(mReceiver);
64     }
65 
66     @Override
67     protected void onResume() {
68         super.onResume();
69         // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
70         mMapView.onResume();
71     }
72 
73     @Override
74     protected void onPause() {
75         super.onPause();
76         // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
77         mMapView.onPause();
78     }
79 
80     public class SDKReceiver extends BroadcastReceiver {
81         public void onReceive(Context context, Intent intent) {
82             String s = intent.getAction();
83             if (s.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
84                 Toast.makeText(MainActivity.this,
85                         "key 验证出错! 请在 AndroidManifest.xml 文件中检查 key 设置",
86                         Toast.LENGTH_SHORT).show();
87                 ;
88             } else if (s
89                     .equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
90                 Toast.makeText(MainActivity.this, "网络出错", Toast.LENGTH_SHORT)
91                         .show();
92             }
93         }
94     }
95 
96 }

对比之前(一)的例子,可以看到主要是添加了 mBaiduMap = mMapView.getMap();

并对参数mBaiduMap做控制

运行结果截屏:

优质内容筛选与推荐>>
1、一篇介绍爬虫的老文章
2、记一次Mysql魔鬼实训
3、AndroidStudio 多层级 Module 对 aar 引用问题
4、为什么学编程很久了,还是只只会写 Hello World 的菜鸟?
5、游九里南园有感


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn