chun_sh
五分糖的苦
采纳率0%
2021-05-04 18:34

百度地图根据地名定位之value绑定和不绑定的问题如何处理?

刚刚去看了element官网,发现v-model === value,所以现在的问题就是为什么输入地名地图没有任何反应,js代码和百度地图的一样

不加v-mode时

value值无法删除也无法写入任何内容·

写了v-model时

value值无论写任何地址都没有作用

mounted() {
          this.$nextTick(function () {
             // 百度地图API功能
              function G(id) {
                  return document.getElementById(id);
              }
              
              var map = new BMap.Map("l-map");
              map.centerAndZoom("北京", 12);                   // 初始化地图,设置城市和地图级别。
              
              var ac = new BMap.Autocomplete(    //建立一个自动完成的对象
                      {
                          "input": "suggestId"
                          , "location": map
                      });
              
              ac.addEventListener("onhighlight", function (e) {  //鼠标放在下拉列表上的事件
                  var str = "";
                  var _value = e.fromitem.value;
                  var value = "";
                  if (e.fromitem.index > -1) {
                      value = _value.province + _value.city + _value.district + _value.street + _value.business;
                  }
                  str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
              
                  value = "";
                  if (e.toitem.index > -1) {
                      _value = e.toitem.value;
                      value = _value.province + _value.city + _value.district + _value.street + _value.business;
                  }
                  str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
                  G("searchResultPanel").innerHTML = str;
              });
              
              var myValue;
              ac.addEventListener("onconfirm", function (e) {    //鼠标点击下拉列表后的事件
                  var _value = e.item.value;
                  myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
                  G("searchResultPanel").innerHTML = "onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
              
                  setPlace();
              });
              
              var g_marker = null;
              function setPlace() {
                  function myFun() {
                      var pp = local.getResults().getPoi(0).point;    //获取第一个智能搜索的结果
                      if (g_marker) {
                          g_marker.setPosition(pp);
                      } else {
                          map.clearOverlays();    //清除地图上所有覆盖物
                          g_marker = new BMap.Marker(pp);
                          g_marker.enableDragging();
                          map.addOverlay(g_marker);    //添加标注
                      }
                      map.centerAndZoom(pp, 18);
                  }
              
                  var local = new BMap.LocalSearch(map, { //智能搜索
                      onSearchComplete: myFun
                  });
                  local.search(myValue);
              }
            })
        },

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • chun_sh 五分糖的苦 2天前

    不知道搜索框什么原因出不来,后来我使用了vue-baidu-map插件就出来了,但是这个问题我还是没有得到解决

    点赞 评论 复制链接分享
  • bosaidongmomo bosaidongmomo 3天前

    那你就不要绑定v-model阿,用原生的方法去设置值。

    点赞 评论 复制链接分享

相关推荐