百度地圖添加label文字提示,根據縮放級別,顯示label和改變文字大小

直接上代碼 

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>詳情</title>
    </head>

	<body>
		<div>

        <div id="allmap" style="width: 100%;height: 100%;"></div>

        </div>
		<script src="xxx/jquery/js/jquery.js"></script>
        <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你的KEY"></script>
        
        <script type="text/javascript">
          LoadBaiduMapScript();
         function LoadBaiduMapScript() {
				//console.log("初始化百度地圖腳本...");
				const AK = "你的key";
				const BMap_URL = "https://api.map.baidu.com/api?v=2.0&ak=" + AK + "&s=1&callback=onBMapCallback";
				return new Promise((resolve, reject) => {
					// 如果已加載直接返回
					if(typeof BMap !== "undefined") {
						resolve(BMap);
						return true;
					}
					// 百度地圖異步加載回調處理
					window.onBMapCallback = function() {
						console.log("百度地圖腳本初始化成功...");
						resolve(BMap);
					};
					// 插入script腳本
					let scriptNode = document.createElement("script");
					scriptNode.setAttribute("type", "text/javascript");
					scriptNode.setAttribute("src", BMap_URL);
					document.body.appendChild(scriptNode);
				});
			}
			// 百度地圖API功能
			var map = new BMap.Map("allmap"); // 創建Map實例
			map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地圖,設置中心點座標和地圖級別
			//添加地圖類型控件
			map.addControl(new BMap.MapTypeControl({
				mapTypes: [
					BMAP_NORMAL_MAP,
					BMAP_HYBRID_MAP
				]
			}));
			map.setCurrentCity("北京"); // 設置地圖顯示的城市 此項是必須設置的
			
			
			map.enableScrollWheelZoom(true);//鼠標滾輪縮放true開啓
			var point=new BMap.Point(116.404,39.915);//label顯示的位置
			var myLabel = new BMap.Label("<span class='my-maptip'>測試123456<br /> 測試<span>",//爲lable填寫內容
			{
				offset:new BMap.Size(-60,-60),//label的偏移量,爲了讓label的中心顯示在點上
				position:point}
			);//label的位置
				myLabel.setTitle("我是文本標註label");
				myLabel.setStyle({//給label設置樣式,任意的CSS都是可以的
					"color":"red",//顏色
					"fontSize":"14px",
					"border":"0",
					"height":"auto",
					"width":"auto",
					"textAlign":"center",
					"lineHeight":"30px",
					"background":"lightgray",
					"cursor":"pointer"
					}); 
			map.addOverlay(myLabel); 
			
			map.addEventListener("zoomend", function () {
                //這裏根據縮放顯示和隱藏文本
                var currentZoom = this.getZoom();
                	$('span.my-maptip').parent()[currentZoom<=11?'hide':'show']();
                	$('span.my-maptip').parent().css("font-size",30-currentZoom);
                
            });

			
			
		</script>
	</body>

</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章