使用百度地图添加覆盖物和文本的方法

近期项目中使用百度地图做一些项目,涉及到在地图上添加圆形覆盖物并配有文本说明的情况,通过百度提供的API例子发现没有现成的效果,然后了解百度API将项目使用到的效果实现出来,实现的过来如下:

1. 在百度地图的“添加/删除覆盖物”例子上改造的,因为我们用到了圆形效果

    http://developer.baidu.com/map/jsdemo.htm#c1_1

2. 将无关的图形去掉保留圆形的设置代码,然后打开“添加文本标签”例子页面

     http://developer.baidu.com/map/jsdemo.htm#c1_14

3.  将添加文本的代码同时作为覆盖物添加到圆形相同的点上,合并后的代码如下

     // 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
var circle = new BMap.Circle(point,
                                 500,{
                                 strokeColor:"#FF9800", //原型边框颜色
                                 strokeWeight:2, 
                                 strokeOpacity:0.5,
                                 fillColor:'#FF9800'}); //创建圆

  var opts = {
 position : point,    // 指定文本标注所在的地理位置
 offset   : new BMap.Size(-50, -10)    //设置文本偏移量
}
var label = new BMap.Label("天安门 1200万", opts);  // 创建文本标注对象
label.setStyle({
color : "#FFF",
             backgroundColor:'transparent',//文本背景色
             borderColor:'transparent',//文本框边框色
fontSize : "16px",
height : "20px",
lineHeight : "20px",
fontFamily:"微软雅黑"
});
 
//添加覆盖物
function add_overlay(){
map.addOverlay(circle);            //增加圆
        map.addOverlay(label);            //增加圆
}
//清除覆盖物
function remove_overlay(){
map.clearOverlays();         
}

4. 最终的效果如下图

   

    

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IMK7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值