老师,为什么我的内容会显示两遍呢?
来源:4-2 地图搜索(2)
小仙女要好好学习
2019-09-24 21:30:40
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>地图搜索</title> <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=a29a2eee0ee2be00b070f0f26f7b39a5"></script> <style> *{ margin: 0; padding: 0; list-style: none; } #container{ width: 100%; height: 100%; position: absolute; left: 0; top: 0; } #box{ width: 400px; height: 300px; position: absolute; right: 20px; top: 30px; background: #fff; border: 1px solid #eee; box-shadow: 0 0 5px #000; } </style> </head> <body> <div id="container"></div> <div id="box"> <input type="text" id="searchText"> <ul id="node"></ul> </div> <script> var box=document.getElementById("box"); var searchText=document.getElementById("searchText"); var node=document.getElementById("node"); var map=new AMap.Map("container",{ zooom:10,//初始化地图的级别 center:[116.22422,39.813285] //初始化地图的中心点 }); /* AMap.plugin("AMap.Autocomplete",function(){ new AMap.Autocomplete().search("北京",function(status,data){ console.log(data); }) }); */ //地图搜索,先加载插件 AMap.plugin("AMap.Autocomplete",function(){ searchText.oninput=function(){ node.innerHTML=""; if(this.value==""){ return; } new AMap.Autocomplete().search(this.value,function(status,data){ for(var i=0;i<data.tips.length;i++){ var oLi=document.createElement("li"); oLi.innerHTML=data.tips[i].name; //data里面的属性 oLi.P=data.tips[i].location.P; oLi.R=data.tips[i].location.R; node.appendChild(oLi); oLi.onclick=function(){ map.setCenter([this.R,this.P]); } } }) } }); </script> </body> </html>
1回答
好帮手慕慕子
2019-09-25
同学你好, 老师测试你的这段代码,实现效果是正确的, 输入搜索内容之后, 地图只显示一遍呀。
建议: 可以清除浏览器缓存在测试一下
如果还有疑惑,可以再次提问, 详细的描述一下你的问题, 便于老师准确高效的帮助你解决问题
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
相似问题