老师,为什么我的内容会显示两遍呢?
来源: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
同学你好, 老师测试你的这段代码,实现效果是正确的, 输入搜索内容之后, 地图只显示一遍呀。
建议: 可以清除浏览器缓存在测试一下
如果还有疑惑,可以再次提问, 详细的描述一下你的问题, 便于老师准确高效的帮助你解决问题
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
相似问题