百度地图SDK for Android【Demo地图图层】
来源:互联网 发布:php cgi.sock 编辑:程序博客网 时间:2024/05/02 20:13
百度地图SDK为开发者提供了多种地图展示形式,用户可以通过相关的设置展示不同的地图图层,在这我将为大家介绍如何加载不同地图图层及各图层之间的切换。
首先,我们要构建一个最基本的地图应用,具体介绍请参考:百度地图SDK for Android【Demo地图展示】
在这个工程的基础之上我们做一定的修改。
第一,修改布局文件,添加控制不同图层显示的button控件;具体代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <!-- 放入百度地图的mapview --> <com.baidu.mapapi.map.MapView android:id="@+id/bmapsView"android:layout_width="fill_parent"android:layout_height="fill_parent"android:clickable="true"/> <!-- 添加button,控制地图显示 --> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="Button" /></RelativeLayout>
第二,在主类中初始化button对象、并设置相应的点击事件。不同图层的显示使用方法setSatellite和setTraffic来实现,具体代码如下所示:
import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.map.MapController;import com.baidu.mapapi.map.MapView;import com.baidu.platform.comapi.basestruct.GeoPoint;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.app.Activity;public class MainActivity extends Activity {BMapManager bMapManager = null; // 定义管理sdk的对象MapView mapView = null; // 定义mapview对象Button button;int flag = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 初始化管理对象,注意要在setContentView(R.layout.activity_main)之前初始化,否则会报错bMapManager = new BMapManager(getApplication());bMapManager.init("您申请的key", null);setContentView(R.layout.activity_main);// 初始化mapview对象,并且设置显示缩放控件mapView = (MapView) findViewById(R.id.bmapsView);mapView.setBuiltInZoomControls(true);// 初始化buttonbutton = (Button) findViewById(R.id.button1);button.setText("点击进入《卫星图》");// 定义地图控件,获取mapview的控制,并把地图范围定位北京市MapController mapController = mapView.getController();GeoPoint point =new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6));mapController.setCenter(point);mapController.setZoom(12);// 设置button的点击事件,根据点击次数的变化,分别设置显示普通地图、实时交通图和卫星图button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubif(flag == 0){flag = flag + 1;mapView.setSatellite(true);button.setText("点击进入《实时交通图》");}else if(flag == 1){flag = flag + 1;mapView.setSatellite(false);mapView.setTraffic(true);button.setText("点击进入《普通地图》");}else if(flag == 2){flag = 0;mapView.setTraffic(false);button.setText("点击进入《卫星图》");}}});}//注意在onResume、onDestroy和onPause中控制mapview和地图管理对象的状态@Overrideprotected void onResume() {// TODO Auto-generated method stubmapView.onResume();if(bMapManager!=null){bMapManager.start();}super.onResume();}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubmapView.destroy();if(bMapManager!=null){bMapManager.destroy();bMapManager=null;}super.onDestroy();}@Overrideprotected void onPause() {// TODO Auto-generated method stubmapView.onPause();if(bMapManager!=null){bMapManager.stop();}super.onPause();}}
各图层的效果如下:
点击下载原工程文件!
小提示:百度地图SDK是支持地图旋转和3D特效的,双指扭转可实现地图旋转、双指下滑实现3D楼宇特效
更多详细信息请登录百度地图API官方网站:http://developer.baidu.com/map/
百度地图API论坛:http://bbs.lbsyun.baidu.com/
- 百度地图SDK for Android【Demo地图图层】
- 百度地图SDK for Android【Demo地图图层】
- 百度地图SDK for Android【Demo自定义图层】
- 百度地图SDK for Android【地图图层】
- 百度地图SDK for Android【Demo地图展示】
- 百度地图SDK for Android自定义图层
- 百度地图 Android SDK - 图层顺序
- 百度地图SDK for Android【Demo兴趣点搜索】
- 百度地图SDK for Android【Demo路径规划】
- 百度地图SDK for Android【Demo Place详情页】
- Android SDK for 百度地图【Demo兴趣搜索】
- 百度地图SDK for Android【Demo兴趣点搜索】
- 百度地图SDK for Android【Demo Place详情页】
- 百度地图SDK for Android【Demo兴趣点搜索】
- 百度地图SDK for Android【离线地图】
- 百度地图SDK for Android【离线地图】
- 百度地图SDK for Android
- 百度地图SDK for Android【Demo调起百度地图客户端导航功能】
- 云计算里AWS和Azure的探究(3)
- POJO和JavaBean的区别和联系
- eclipse 链接源代码选中之后,字体设置,找了好久终于找到了。
- maven-bundle-plugin
- BAT 批处理脚本 教程
- 百度地图SDK for Android【Demo地图图层】
- 理解一下 GK Zone 20 与GK Zone 20N的区别
- 寒假刷题之9——Collatz序列
- Java中getResourceAsStream的用法(转自:http://www.cnblogs.com/javayuer/archive/2011/01/02/1924192.html)
- wordpress 函数详解 add_option delete_option update_option get_option
- 用 C# 绘制曲线图(Curve图,增加自动适应和多曲线绘制)
- 每个程序员都有自己的编码风格
- The BitTorrent Protocol
- itouch3 4.x版本平刷降级需要开小雨伞,5.x就不需要开小雨伞