首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

百度map之二百度map覆盖物(根据老罗视频整理)

2012-11-23 
百度地图之二百度地图覆盖物(根据老罗视频整理)视频链接:http://www.verycd.com/files/d630c01ecba00982ab

百度地图之二百度地图覆盖物(根据老罗视频整理)

视频链接:http://www.verycd.com/files/d630c01ecba00982ababcd884afb74d984718080

接上篇 百度地图之一百度地图搭建开发环境(老罗视频笔记整理)

显示交通地图
百度map之二百度map覆盖物(根据老罗视频整理)


 

//显示交通地图 mapView.setTraffic(true); 


显示卫星地图

百度map之二百度map覆盖物(根据老罗视频整理)

//显示卫星地图 mapView.setSatellite(true);


如何给地图覆盖物概述:

所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图象元素(包括:折线和多变形和圆)、定位图标等覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,他们会相应的移动。

地图API提供了如下几种覆盖物:

Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法,实现用户自定义图层显示。

MyLoactionOverlay:一个负责显示用户当前位置的Overlay。

ItemizedOverlay<Item extends OverlayItem>: Overlay的一个基类,包含了一个OverlayItem列表,相当于一组分条Overlay,通过继承此类,将一组兴趣点显示在地图上。

PoiOverlay:本地搜索图层,提供某一特定地区的位置搜索服务,比如在北京市搜索“公园”,通过此公园显示在地图上。

RouteOverlay:步行、驾车导航线路图层,将步行、驾车出行方案的路线及关键点显示在地图上。

TransitOverlay:公交换乘线路图层,将某一特定地区的公交出行方案的路线及换乘位置显示在地图上;

实战案例之一:演示地图覆盖物的描述

百度map之二百度map覆盖物(根据老罗视频整理)

package com.android.android_baidu_myoverlay;   import com.android.android_baidu_myoverlay.R; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.GeoPoint; import com.baidu.mapapi.MKGeneralListener; import com.baidu.mapapi.MapActivity; import com.baidu.mapapi.MapController; import com.baidu.mapapi.MapView; import com.baidu.mapapi.Overlay;   import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Point; import android.os.Bundle; import android.widget.Toast;   public class MainActivity extends MapActivity {       //添加百度地图的相关控件     private MapView mapView;     //加载地图的引擎     private BMapManager bMapManager;     //百度地图的key     private String KeyString = "8C426377B3526B6BF3672C9BA3BB544D1E8289CD";     //在百度地图上添加一些控件,比如是放大或者缩小的控件     private MapController mapController;           @Override    public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         mapView = (MapView) this.findViewById(R.id.bmapView);         bMapManager = new BMapManager(MainActivity.this    );         //必须要加载key         bMapManager.init(KeyString, new MKGeneralListener() {                           public void onGetPermissionState(int arg0) {                 if(arg0==300){                     Toast.makeText(MainActivity.this, "输入的key有错,请核实!!", 1).show();                 }             }                           public void onGetNetworkState(int arg0) {                               }         });         this.initMapActivity(bMapManager);         //表示可以设置缩放功能         mapView.setBuiltInZoomControls(true);         mapController = mapView.getController();         mapController.setZoom(12);         mapView.getOverlays().add(new MyOverlay());              }           public class MyOverlay extends Overlay{         //构建在地图上的一个点         GeoPoint geoPoint = new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6));         //声明一个画笔的工具         private Paint paint = new Paint();                   @Override        public void draw(Canvas arg0, MapView arg1, boolean arg2) {             super.draw(arg0, arg1, arg2);             Point point = mapView.getProjection().toPixels(geoPoint, null);             arg0.drawText("*这里是天安门", point.x, point.y, paint);         }     }       @Override    protected void onDestroy() {         super.onDestroy();         if(bMapManager!=null){             bMapManager.destroy();             bMapManager = null;         }     }           @Override    protected void onResume() {         super.onResume();         if(bMapManager!=null){             bMapManager.start();         }     }           @Override    protected void onPause() {         // TODO Auto-generated method stub         super.onPause();         if(bMapManager!=null){             bMapManager.stop();         }     }           @Override    protected boolean isRouteDisplayed() {         // TODO Auto-generated method stub         return false;     } }


源代码下载地址: http://download.csdn.net/detail/wenquan125/4786167

热点排行