在vue項目中使用百度地圖API


1、在百度地圖開放平台注冊賬號並登錄

  網址:http://lbsyun.baidu.com/index.php?title=jspopularGL


2、選擇自己所需的地圖版本:

  我個人使用2.0足夠了,其實就是懶,一直用的2.0沒看3.0。但是3.0應該也差不多的使用。

 

3、在我們的vue項目中的public文件夾下的index.html中引入並記得替換上你的ak(這個ak不是其他的ak哈)

<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你的ak"></script>

4、之后就可以隨處使用我們的百度地圖了:

 在我們需求的頁面組件中添加地圖容器:

<div id="map" class="map"></div>

這里的class用來定義大小、布局等樣式操作;重要的是id值map。

一般我們會在組件加載,也就是頁面渲染時加載我們的地圖,所以我們可以在mounted階段添加我們的核心代碼:

// 百度地圖API功能
var map = new BMap.Map("map"); // 創建Map實例
map.centerAndZoom(new BMap.Point(104.07258, 30.550701), 20); // 初始化地圖,設置中心點坐標和地圖級別
//添加地圖類型控件
map.addControl(
   new BMap.MapTypeControl({
     mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP],
   })
);
map.setCurrentCity("成都"); // 設置地圖顯示的城市 此項是必須設置的
map.enableScrollWheelZoom(true);

這樣就在頁面顯示出來了我們的百度地圖,記得css中添加寬高!!

 

5、標記點的添加並擁有點擊彈窗效果:

let point = new BMap.Point(104.07258, 30.550501);
// 創建點標記
var marker = new BMap.Marker(point);
// 在地圖上添加點標記
map.addOverlay(marker);
// 創建信息窗口
var opts = {
  width: 200,
  height: 100,
  title: "彈窗標題",
};
var infoWindow = new BMap.InfoWindow(
  "彈窗內容",
  opts
);
// 點標記添加點擊事件
marker.addEventListener("click", function () {
  map.openInfoWindow(infoWindow, point); // 開啟信息窗口
});

6、為坐標點添加文本標記:

//設置文本標記
var opts2 = {
  position: point, // 指定文本標注所在的地理位置
  offset: new BMap.Size(30, -30), // 設置文本偏移量
};
// 創建文本標注對象
var label = new BMap.Label("成都書論技術有限公司", opts2);
// 自定義文本標注樣式
label.setStyle({
  color: "blue",
  borderRadius: "5px",
  borderColor: "#ccc",
  padding: "10px",
  fontSize: "16px",
  height: "50px",
  lineHeight: "30px",
  fontFamily: "微軟雅黑",
});
map.addOverlay(label);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM