成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android學習筆記之百度地圖Overlay

移動開發 Android
百度地圖API是為開發者免費提供的一套基于百度地圖服務的應用接口,包括JavaScript API、Web服務API、Android SDK、iOS SDK、定位SDK、車聯網API、LBS云等多種開發工具與服務,提供基本地圖展現、搜索、定位、逆/地理編碼、路線規劃、LBS云存儲與檢索等功能,適用于PC端、移動端、服務器等多種設備,多操作系統下的地圖應用開發。

地圖覆蓋物概述

所有疊加或覆蓋到地圖的內容,我們統稱為地圖覆蓋物。如標注、矢量圖形元素(包括:折線和多邊形和圓)、定位圖標等。覆蓋物擁有自己的地理坐標,當您拖動或縮放地圖時,它們會相應的移動。

地圖API提供了如下幾種覆蓋物:

  • Overlay:覆蓋物的抽象基類,所有的覆蓋物均繼承此類的方法,實現用戶自定義圖層顯示。
  • MyLocationOverlay:一個負責顯示用戶當前位置的Overlay。
  • ItemizedOverlay<Item extends OverlayItem>:Overlay的一個基類,包含了一個OverlayItem列表,相當于一組分條的Overlay,通過繼承此類,將一組興趣點顯示在地圖上。

  • PoiOverlay:本地搜索圖層,提供某一特定地區的位置搜索服務,比如在北京市搜索“公園”,通過此圖層將公園顯示在地圖上。

  • RouteOverlay:步行、駕車導航線路圖層,將步行、駕車出行方案的路線及關鍵點顯示在地圖上。

  • TransitOverlay:公交換乘線路圖層,將某一特定地區的公交出行方案的路線及換乘位置顯示在地圖上。

覆蓋物的抽象基類:Overlay

一般來說,在MapView中添加一個Overlay需要經過以下步驟:

  • 自定義類繼承Overlay,并Override其draw()方法,如果需要點擊、按鍵、觸摸等交互操作,還需Override onTap()等方法。
  1. package xiaosi.baiduMap; 
  2.  
  3. import android.graphics.Canvas; 
  4. import android.graphics.Paint; 
  5. import android.graphics.Point; 
  6. import android.os.Bundle; 
  7. import android.view.View; 
  8. import android.view.View.OnClickListener; 
  9. import android.widget.Button; 
  10.  
  11. import com.baidu.mapapi.BMapManager; 
  12. import com.baidu.mapapi.GeoPoint; 
  13. import com.baidu.mapapi.MapActivity; 
  14. import com.baidu.mapapi.MapController; 
  15. import com.baidu.mapapi.MapView; 
  16. import com.baidu.mapapi.Overlay; 
  17.  
  18. public class BaiduMapActivity extends MapActivity 
  19.     /** Called when the activity is first created. */ 
  20.     private BMapManager mapManager = null
  21.     private String key = "1B79478DA01F7800AEA8602517A6D89B38151105"
  22.     private MapView mapView = null
  23.  
  24.     @Override 
  25.     public void onCreate(Bundle savedInstanceState) 
  26.     { 
  27.         super.onCreate(savedInstanceState); 
  28.         setContentView(R.layout.main); 
  29.         mapManager = new BMapManager(getApplication()); 
  30.         mapManager.init(key, null); 
  31.         super.initMapActivity(mapManager); 
  32.         mapView = (MapView) findViewById(R.id.mapsView); 
  33.         mapView.setBuiltInZoomControls(true); // 設置啟用內置的縮放控件 
  34.         MapController mapController = mapView.getController(); // 得到mMapView的控制權,可以用它控制和驅動平移和縮放 
  35. //      GeoPoint point = new GeoPoint((int) (39.915 * 1E6), 
  36. //              (int) (116.404 * 1E6)); // 用給定的經緯度構造一個GeoPoint,單位是微度 (度 * 1E6) 
  37. //      mapController.setCenter(point); // 設置地圖中心點 
  38.         mapController.setZoom(12); // 設置地圖zoom級別 
  39.         mapView.getOverlays().add(new MyOverlay());  ///++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
  40.     } 
  41.  
  42.     @Override 
  43.     protected boolean isRouteDisplayed() 
  44.     { 
  45.         return false
  46.     } 
  47.  
  48.     @Override 
  49.     protected void onDestroy() 
  50.     { 
  51.         if (mapManager != null
  52.         { 
  53.             mapManager.destroy(); 
  54.             mapManager = null
  55.         } 
  56.         super.onDestroy(); 
  57.     } 
  58.  
  59.     @Override 
  60.     protected void onPause() 
  61.     { 
  62.         if (mapManager != null
  63.         { 
  64.             mapManager.stop(); 
  65.         } 
  66.         super.onPause(); 
  67.     } 
  68.  
  69.     @Override 
  70.     protected void onResume() 
  71.     { 
  72.         if (mapManager != null
  73.         { 
  74.             mapManager.start(); 
  75.         } 
  76.         super.onResume(); 
  77.     } 
  78.  
  79.     public class MyOverlay extends Overlay 
  80.     { 
  81.         GeoPoint geoPoint = new GeoPoint((int) (39.915 * 1E6), 
  82.                 (int) (116.404 * 1E6)); 
  83.         Paint paint = new Paint(); 
  84.  
  85.         @Override 
  86.         public void draw(Canvas canvas, MapView mapView, boolean shadow) 
  87.         { 
  88.             // 在天安門的位置繪制一個String 
  89.             Point point = mapView.getProjection().toPixels(geoPoint, null); 
  90.             canvas.drawText("★這里是天安門", point.x, point.y, paint); 
  91.         } 
  92.     } 
  93. }


原文鏈接:http://blog.csdn.net/sjf0115/article/details/7320709

責任編輯:閆佳明 來源: oschina
相關推薦

2013-04-08 14:46:42

Android學習筆記百度地圖

2011-09-26 10:05:19

百度地圖API

2011-10-09 11:07:40

百度地圖API

2011-09-16 14:39:02

百度地圖API

2011-10-24 14:01:29

API

2011-09-29 11:00:54

百度地圖API

2011-05-25 14:36:17

2011-10-21 09:28:25

百度地圖API

2011-09-16 10:37:42

地圖API

2011-10-21 10:16:25

百度地圖API

2021-06-15 14:33:00

高德百度騰訊

2013-08-22 17:08:50

2012-02-03 14:01:15

地圖

2014-07-25 17:12:39

數據庫WOT2014MongoDB

2020-12-11 22:02:00

百度地圖Apollo

2020-11-26 15:09:49

數據安全百度地圖機器學習

2018-03-09 22:56:52

PaddlePaddl

2015-05-27 09:51:45

百度深度學習人工智能

2012-02-01 09:33:36

百度地圖API

2012-05-28 22:51:53

百度
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品在线 | 日韩久久中文字幕 | 亚洲黄色av网站 | 二区av| 99成人| 精品欧美一区二区三区精品久久 | 亚洲高清免费视频 | 最新超碰| 亚洲不卡在线观看 | 免费午夜视频在线观看 | 国产激情在线看 | wwwxx在线观看| 国产精品一区在线播放 | 成人免费小视频 | 91精品久久久久久久99 | 国产色婷婷久久99精品91 | 午夜精品久久久久久久久久久久 | 精品99久久 | av网站推荐| 国产精品视频二区三区 | 国产真实精品久久二三区 | 国产真实精品久久二三区 | 一区二区在线不卡 | 成人动漫视频网站 | 国产aⅴ爽av久久久久久久 | 男女羞羞网站 | 成年人网站免费 | 久久久久成人精品 | 中文字幕三区 | 精品一区在线 | 干狠狠 | 久久新视频| 成人精品福利 | 国产日韩欧美在线 | 久在线观看 | 日韩久久精品视频 | a在线视频 | 日韩欧美中文字幕在线观看 | 国产乱一区二区三区视频 | 做a网站| 91精品国产一区二区三区动漫 |