什么是地图图层
地图可以包含一个或多个图层,每个图层在每个级别都是由若干个图块组成的,它们覆盖了地图的整个表面。例如您所看到包括街道、兴趣点、学校、公园等内容的地图展现就是一个图层,另外交通流量的展现也是通过图层来实现的。
图层分类
1、底图
基本的地图图层,包括若干个缩放级别,显示基本的地图信息,包括道路、街道、学校、公园等内容。
2、实时交通信息图: MapView.setTraffic(true)
3、卫星图: MapView.setSatellite(true)
卫星地图是卫星拍摄的真实的地理面貌,所以卫星地图可用来检测地面的信息,你可以了解到地理位置,地形等。
布置一个MainActivity来装这些加强篇,即各个图形实现效果;
实现目的:MainActivity用一个ListView,文本方式采用自制的item样式,然后通过intent跳转到LayerDemo这个activity中,这个activity主要还是需要实现KEY的校验、底图的实现,另外增加的是交通图和卫星图,只要通过MapView.xxx调用即可。
实现效果:
当键盘点击1、2、3数字时,分别出现底图、交通图和卫星图。




MainActivity.java

package huaxa.it.map;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;public class MainActivity extends Activity
{private static String[]         objects = new String[]{ "hello world", "图层", "几何图形元素","展示文字", "多条目绘制", "矩形范围内搜索", "圆形区域", "全城搜索", "驾车路线", "步行路线", "公交换乘","我的位置"                          };private static Class[]          clazzs  = new Class[]{ HelloWorld.class,LayerDemo.class};private ListView                list;private ArrayAdapter<String>    adapter;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);list = (ListView) findViewById(R.id.list);adapter = new ArrayAdapter<String>(getApplicationContext(),R.layout.item, objects);// Context context, int resource, int// textViewResourceId, List<T> objects)<--objects代表listViewlist.setAdapter(adapter);list.setOnItemClickListener(new OnItemClickListener(){@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id){Intent intent = new Intent(getApplicationContext(),clazzs[position]);startActivity(intent);}});}}

LayerDemo.java

package huaxa.it.map;import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.map.MKEvent;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.platform.comapi.basestruct.GeoPoint;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;/*** @项目名: BaiduMap* @包名: huaxa.it.map* @类名: LayerDemo* @创建者: 黄夏莲* @创建时间: 2016年11月29日 ,上午10:14:15* * @描述:地图图层(底图、实时交通、卫星图)*/
public class LayerDemo extends Activity
{private BMapManager     manager;private MapController   controller;private MapView         mapView;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);// KEY的校验initManager();setContentView(R.layout.common);init();}private void init(){mapView = (MapView) findViewById(R.id.MapView);controller = mapView.getController();controller.setZoom(12);// 设置地图的缩放级别。 这个值的取值范围是[3,19]。mapView.setBuiltInZoomControls(true);// 设置是否启用内置的缩放控件。// 如果启用,MapView将自动显示这些缩放控件。}/*** 初始化地图引擎*/private void initManager(){manager = new BMapManager(getApplicationContext());/*** public boolean init(String strKey, MKGeneralListener listener) 参数:* strKey - 申请的授权验证码 listener -* 注册回调事件,该接口返回网络状态,授权验证等结果,用户需要实现该接口以处理相应事件*/// KEY的校验manager.init(CanstantValue.KEY,null);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event){//地图图层(底图、实时交通、卫星图)switch (keyCode){case KeyEvent.KEYCODE_1:// 底图mapView.setSatellite(false);mapView.setTraffic(false);break;case KeyEvent.KEYCODE_2:// 实时交通mapView.setTraffic(true);mapView.setSatellite(false);break;case KeyEvent.KEYCODE_3:// 卫星图mapView.setSatellite(true);mapView.setTraffic(false);break;default:break;}return super.onKeyDown(keyCode, event);}@Overrideprotected void onResume(){// TODO Auto-generated method stubsuper.onResume();mapView.onResume();}@Overrideprotected void onPause(){// TODO Auto-generated method stubsuper.onPause();mapView.onPause();}@Overrideprotected void onDestroy(){// TODO Auto-generated method stubsuper.onDestroy();mapView.destroy();}}

item.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/text"android:layout_width="match_parent"android:layout_height="50dip"android:textColor="@android:color/black"android:textSize="20sp" android:gravity="center_vertical"/>

activity_main.xml

<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" ><ListView
        android:id="@+id/list"android:layout_width="fill_parent"android:layout_height="wrap_content" /></RelativeLayout>

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="huaxa.it.map"android:versionCode="1"android:versionName="1.0" ><uses-sdk
        android:minSdkVersion="16"android:targetSdkVersion="16" /><!-- gps --><!-- 这个权限用于进行网络定位 --><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" ></uses-permission><!-- 这个权限用于访问GPS定位 --><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission><!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission><!-- 获取运营商信息,用于支持提供运营商信息相关的接口 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission><!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 --><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission><!-- 用于读取手机当前的状态 --><uses-permission android:name="android.permission.READ_PHONE_STATE" ></uses-permission><!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission><!-- 访问网络,网络定位需要上网 --><uses-permission android:name="android.permission.INTERNET" /><!-- SD卡读取权限,用户写入离线定位数据 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ></uses-permission><application
        android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activity
            android:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity
            android:name=".HelloWorld"android:label="@string/app_name" ></activity><activity
            android:name=".LayerDemo"android:label="@string/app_name" ></activity></application></manifest>

百度地图:加强篇(交通图、卫星图的实现)相关推荐

  1. 百度地图3d效果和卫星图效果

    3D图 3d案例如上图 代码如下 <!DOCTYPE html> <html> <head><meta http-equiv="Content-Ty ...

  2. 百度地图实现普通地图、卫星图、三维图、混合图(卫星图+路网)

    普通街道视图:BMAP_NORMAL_MAP 三维视图:BMAP_PERSPECTIVE_MAP 卫星视图:BMAP_SATELLITE_MAP 卫星和路网的混合视图:BMAP_HYBRID_MAP ...

  3. 【百度地图API】发布静态图API啦!只需一个网址,即可展示定制百度地图!

    [百度地图API]发布静态图API啦!只需一个网址,即可展示定制百度地图! 原文:[百度地图API]发布静态图API啦!只需一个网址,即可展示定制百度地图! 摘要: 百度地图静态图API!您无须执行任 ...

  4. PopupWindow百度地图API普通地图与卫星地图切换

    我用的百度地图v4.0.0 要通过PopupWindow实现普通地图与卫星地图切换 部分代码借鉴自 http://www.cnblogs.com/mengdd/p/3569127.html 感谢原作者 ...

  5. html5 加速球 效果,css 渐隐渐现、echarts 圆环图、百度地图覆盖物、echarts水球图(360加速球效果)...

    说一下知识点: 1.水球是echarts的插件echarts-liquidfill,官网下载-扩展下载中可以拿到,git传送阵https://github.com/ecomfe/echarts-liq ...

  6. 百度地图之云图(热图)预警

    前几天需要在百度地图上做云图(热图)预警,搜索了一下可以用heatmap实现,但是heatmap只提供了针对谷歌地图的实现,尽管是百度搜索.谷歌搜索齐用,但都得不到解决.没办法,只有自己研究谷歌地图代 ...

  7. Echarts与百度地图结合实现风场矢量图相关问题

    这是部分js代码,代码里有一些标注,文章最后有相关问题,请耐心阅读,欢迎指导意见留言 function loadmap() { **这段是风场数据处理调用的方法,可以暂时忽略**// https:// ...

  8. qt for android开发百度地图(一步步带图详解)

    qt for android开发百度地图 前言:qt for android开发百度地图,其实找了很多资料,基本上没有,就自己折磨弄了出来,这个过程还是很曲折的,折磨了一两个星期,没有资料,就两个字' ...

  9. 新知卫星地图 2023 高清卫星图源 谷歌高清图源解析

    稳定测试!通过分析参数,图源提供多种选项,可以再后续自定义地图中间进行修改! {$x}&y={$y}&z={$z}&flag=noname 默认为不添加&flag=no ...

  10. 高德地图实现昼夜、卫星图切换

    简介 高德地图 JS API 是一套 JavaScript 语言开发的的地图应用编程接口,移动端.PC端一体化设计,一套 API 兼容众多系统平台. 教程 效果图 极夜蓝,参考 卫星图,参考 实现 新 ...

最新文章

  1. 《每周CV论文》人脸识别难题:遮挡年龄姿态妆造亲属伪造攻击
  2. linux python matplotlib 使用,关于Linux:如何在Python的matplotlib中设置“后端”?
  3. 学习Python一定要知道的在定义变量中的三个特征
  4. Spring Cloud面试题(2020最新版)
  5. 工作中常用的 6 种设计模式!
  6. tomcat相关配置技巧梳理 (修改站点目录、多项目部署、限制ip访问、大文件上传超时等)...
  7. 这些PHP考点虽然简单基础,但是很重点
  8. 02326操作系统课后答案
  9. eova1.4版本下拉框没有滚动条
  10. 小程序上传图片前将图片剪切成固定尺寸
  11. 建立统分结合、职责明确的疾控可持续发展信息化体系
  12. 计算机内图片怎么自定义排序,win10系统设置图片文件自定义排序的图文教程
  13. arduino八段数码管使用
  14. Vue - $route matched 属性实现面包屑导航
  15. 【我的世界】自定义局域网服务器-LanServerPropertie-1.17.x-自定义端口+关正版验证
  16. 有谁知道怎么处理微信用户头像过期问题,除了本地保存,因为不会用七牛云远程附件
  17. 有效 360 度反馈系统的关键
  18. ckc交易什么意思_小白买基金,什么都不懂?100个问题带你揭秘基金神秘面纱(五)...
  19. 计算机维护与管理知识,关于计算机硬件的日常管理与维护
  20. SwiftUI之明暗度brightness设置View Image Color

热门文章

  1. PS中10种样式操作
  2. GameBuilder开发游戏应用系列之50行代码实现微信漂流瓶
  3. 计算机管理没用调制解调器,Win7调制解调器已删除,不可使用的设备解决方法
  4. Pyth-Solana链上联通现实的桥梁
  5. el-upload 限制上传数量,然后隐藏加号
  6. 微信小程序 正则表达式验证
  7. 从0基础学习MySQL数据库(三)
  8. 百度数据仓库palo使用总结
  9. git查看两个版本之间修改了哪些文件
  10. 网格细分 Loop细分算法