笔记:百度地图 通过输入地名搜索位置 显示在地图上

场景:刚刚接到需求---通过输入地名搜索位置 显示在地图上,然后百度了一番,发现很多都是BMap版本的地图 而最新我用的是BMapGL地图 所以多多少少有一些不一样,查略相关文档得出解决方案😊。

废话不多说直接上才艺 ✈✈✈:

注意:1.这里是在VUE里面实现的.

           2.前提是你自己创建好了地图对象,我这里命名为mapObject.

           3.里面都带有注释.

findFn() {
      //console.log("搜索", this.findvalue);//收集到的地名
      var local,
          point,
          marker,
          myIcon = null;
      local = new BMapGL.LocalSearch(this.mapObject);//创建本地搜寻对象
      local.search(this.findvalue);//本地搜寻对象调用search方法 传入地名
      // 调用callback自定义方法
      local.setSearchCompleteCallback((re) => {
        // console.log(re);//打赢出来看一下地图传进来的对象带有那些信息
        if (re.keyword) {
          // 第一步清空所有标签
          this.mapObject.clearOverlays();
          //创建一个新的point
          point = new BMapGL.Point(
            re._pois[0].point.lng,
            re._pois[0].point.lat
          );
          // 创建marker的图标
          myIcon = new BMapGL.Icon(
            require("./../../../../assets/img/marker2.png"),
            new BMapGL.Size(52, 65)
          );
          // 创建一个新的marker
          marker = new BMapGL.Marker(point, {
            icon: myIcon, // 更换标记点样式
          });
          // 移动到该点上
          this.mapObject.centerAndZoom(point, 18);

          // 将marker添加到地图上
          this.mapObject.addOverlay(marker);
        }
      });
    },

                                                                                                                          (欢迎大家留言👇)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值