搜索完后在地图上显示不出来,显示白屏

来源:4-2 地图搜索(2)

unbreakable_全栈

2020-12-23 22:49:21

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图
http://img.mukewang.com/climg/5fe358ee09d105c318240876.jpg# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

<!doctype html>

<html>


<head>

   <meta charset="utf-8">

   <title></title>

   <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=e22196035aaa10db3b0b6eb1ab64619e">

   </script>

   <style type="text/css">

      * {

         margin0;

         padding0;

         list-stylenone;

      }


      #container {

         width100%;

         height100%;

         positionabsolute;

         left0;

         top0;

      }


      #setZoomNode,

      #setCenterNode {

         width200px;

         height500px;

         positionabsolute;

         z-index99;

         right20px;

         top20px;

         border1px solid black;

         box-shadow0 0 5px black;

         backgroundwhite;

      }


      #setCenterNode {

         top20px;

      }


      #node li {

         cursorpointer;

      }

   </style>

</head>


<body>

   <div id="container"></div>

   <div id='setCenterNode'>

      <input type="" name="" id='searchText'>

      <ul id='node'></ul>

   </div>



   <script type="text/javascript">

      var map = new AMap.Map('container', {

         zoom: 11//初始的地图级别

         center: [100.37939130.861536//初始化地图的中心点

      });


      //加载插件 、 Autocomplete 地图加载完毕 会触发的回调函数

      AMap.plugin('AMap.Autocomplete'function () {

         //   console.log(1);

         // node.innerHTML = ''

         // if (this.value === '') return

         //   oninput  当内容改变的时候触发的一个函数

         searchText.oninput = function () {

            // console.log(this.value)

            node.innerHTML = ''

            if (this.value == ''return

            new AMap.Autocomplete().search(this.valuefunction (statusdata) {

               console.log(data'sss')

               // location是空时,就无法获取到location了,因此可以判断一下,如果该数据没有location属性,就不生成li标签了,我们只让属性齐全的数据对应生成li元素

               for (var i = 0i < data.tips.lengthi++) {

                  var oLi = document.createElement('li')

                  oLi.innerHTML = data.tips[i].name

                  oLi.Q = data.tips[i].location.Q

                  oLi.R = data.tips[i].location.R

                  node.appendChild(oLi)

                  oLi.onclick = function () {

                     console.log(this.Qthis.R)

                     map.setCenter([this.Qthis.R])

                  }

               }

               // TODO 搜索完后在地图上显示不出来,显示白屏

            })

         }



         // searchText.oninput = function(){

         //    // console.log();

         //     node.innerHTML = '';

         //     if(this.value == ''){

         //        return;

         //     }


         //     new AMap.Autocomplete().search(this.value,function(status,data){

         //         console.log(data.tips);


         //         for(var i = 0;i < data.tips.length;i++){

         //             var oLi = document.createElement('li');

         //             oLi.innerHTML = data.tips[i].name;

         //             oLi.P = data.tips[i].location.P;

         //             oLi.R = data.tips[i].location.R;

         //             node.appendChild(oLi);

         //             oLi.onclick = function(){

         //                // console.log(this.P,this.R)

         //                map.setCenter([this.R,this.P]);

         //             };

         //         }

         //     });

         // };



      });

   </script>

</body>


</html>


写回答

1回答

好帮手慕星星

2020-12-24

同学你好,是因为经纬度位置写反了,所以显示不出位置,参考修改:

http://img.mukewang.com/climg/5fe40d2a09cec90305270235.jpg

祝学习愉快!

0

0 学习 · 6815 问题

查看课程