百度地图添加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>

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值