请问一下老师为什么会出现报错呢
来源:4-2 地图搜索(2)
weixin_慕先生7015352
2020-10-21 11:56:24
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>地图拓展功能</title>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce32bba4e74c48d6bc07087c757d66c2"></script>
</head>
<style>
*{
margin:0;
padding:0;
list-style: none;
}
#container {
width:100%;
height: 100%;
position:absolute;
left:0px;
top:0px;
}
#setZoomNode{
width:200px;
height:500px;
position:absolute;
z-index:99;
right:20px;
top:20px;
border:1px solid black;
box-shadow: 0 0 5px black;
background:#fff;
padding:10px;
}
#node li{
cursor:pointer;
}
</style>
<body>
<div id="container"></div>
<div id="setZoomNode">
<input type="text" id="searchtext">
<ul id="node">
</ul>
</div>
<script>
var map=new AMap.Map('container',{
zoom:8,
center:[116,40]
});
var searchtext=document.querySelector('#searchtext');
var node=document.querySelector('#node');
// 输入提示(加载插件、Autocomplete:地图加载完毕,会触发回调函数)
AMap.plugin('AMap.Autocomplete',function(){
searchtext.oninput=function(){
node.innerHTML='';
if(this.value==''){
return ;
}
new AMap.Autocomplete().search(this.value,function(status,data){
console.log(data);
for(var i=0;i<data.tips.length;i++){
var oli=document.createElement('li');
oli.innerHTML=data.tips[i].name;
// 获取到li的坐标[R,P];
oli.Q=data.tips[i].location.Q;
oli.R=data.tips[i].location.R;
node.appendChild(oli);
// 当点击li时,其坐标变为中心点
oli.onclick=function(){
// console.log([this.R,this.Q]);
map.setCenter([this.R,this.Q]);
}
}
})
}
})
// map.on('moveend',function(){
// console.log(map.getCenter());
// })
</script>
</body>
</html>
在这里输入代码,可通过选择【代码语言】突出显示
1回答
同学你好,老师这边测试同学的代码,是没有报错的,如下:
截图报错的意思是“undefined无法区域length属性”,即调用length属性的是undefined。代码中是data.tips调用了length属性,老师这边也输出了一下,发现也不是undefined:
输出结果不是undefined:
建议同学重新测试一下哦,祝学习愉快~
相似问题
回答 2
回答 4