1. 程式人生 > >HTML5學習筆記(四)地圖功能

HTML5學習筆記(四)地圖功能

一、HTML5中地理定位

        地理定位功能並不是屬於HTML5專有內容

        HTML5的地理定位技術,由Google公司提供的Google Map產品來實現地理定位技術

        但是中國國內不能使用Google公司所有服務和產品,所以選擇百度地圖和高德地圖

        百度地圖市場份額大,所以我們學習使用百度地圖

二、百度地圖

       百度地圖開發網址 -

http://developer.baidu.com/map/

       百度地圖提供的API幫助文件和Demo示例程式碼(易於使用)

三、如何使用百度地圖

   ①在HTML頁面中引入百度地圖的JS程式碼

       http://api.map.baidu.com/api?v=2.0&ak=祕鑰

   ②定義顯示地圖的容器

         <div id="" style=""></div>

   ③在javascript程式碼中建立百度地圖Map物件

         var map = new BMap.Map(容器id);

   ④進行地圖的初始化

         map.centerAndZoom();

四、百度地圖的元件

     核心類 - Map類

      構造器 - BMap.Map(容器id);

       方法

       centerAndZoom() - 初始化方法

       addControl() - 新增控制元件

       addOverlay() - 新增標註

       Control類 - 控制元件類

         ScaleControl類 - 表示地圖的比例尺

           構造器 - 建立比例尺物件

         NavigationControl類 - 表示移動縮放控制元件

           構造器 - 建立移動縮放控制元件

       Overlay類 - 遮蓋物類

         Marker類 - 表示地圖的一個標註

           構造器 - Marker(point)

       Point類 - 標註類

<!DOCTYPE html>
<html>
 <head>
  <title>百度地圖的相關元件</title>
  <meta charset="utf-8" />
  <script src="http://api.map.baidu.com/api?v=2.0&ak=此處寫自己的祕鑰"></script>
 </head>

 <body>
  <div id="allmap" style="width:800px;height:600px"></div>
  <script>
	var map = new BMap.Map("allmap");
	map.centerAndZoom("北京",12);
	/*
	 * 為百度地圖新增控制元件
	 * Control類
	 * ScaleControl類 - 表示比例尺控制元件
	 * * 構造器 - ScaleControl()
	 * * 方法
	 *   * setUnit() - 設定比例尺的單位
	 *   * getUnit() - 獲取比例尺的單位
	 * * 新增位置,預設為左下角
	 *   * 構造器的引數ScaleControlOptions型別
	 *     * anchor - 設定控制元件的停靠位置
	 *       * BMAP_ANCHOR_TOP_LEFT
	 *       * BMAP_ANCHOR_TOP_RIGHT
	 *       * BMAP_ANCHOR_BOTTOM_RIGHT
	 *       * BMAP_ANCHOR_BOTTOM_LEFT - 預設值
	 * 將建立的控制元件新增到百度地圖中
	 * * 通過Map物件的addControl()方法
	 */
	// 建立比例尺控制元件物件
	var scale = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
	// 將比例尺控制元件新增到百度地圖中
	map.addControl(scale);
	/*
	 * Control類 - 控制元件類
	 * NavigationControl類 - 表示地圖的平移縮放控制元件
	 * * 構造器 - NavigationControl()
	 * Map物件移除控制元件 - removeControl()
	 */
	var nav = new BMap.NavigationControl();
	map.addControl(nav);
	/*
	 * Overlay類 - 地圖的遮蓋物
	 * Marker類 - 表示地圖上一個影象標註
	 * * 構造器 - Marker(point)
	 *   * point - 標註的座標值
	 * Map物件新增遮蓋物
	 * * addOverlay(marker)
	 * Point類 - 表示一個地理座標點
	 * * 構造器 - Point(lng,lat)
	 *   * lng - number型別,表示經度
	 *   * lat - number型別,表示緯度
	 * * 如何獲取位置的經度和緯度值?
	 */
	var point = new BMap.Point(116.404, 39.915);
	// 建立地圖標註
	var marker = new BMap.Marker(point);
	// 新增標註
	map.addOverlay(marker);
  </script>
 </body>
</html>