尔Eset
尔Eset
  • 发布:2016-06-06 17:37
  • 更新:2016-06-06 17:46
  • 阅读:1752

【报Bug】poiSearchNearBy 地图检索 输入0~9或单个中文数字 会闪退

分类:HBuilder

详细问题描述
从input获取到参数后,如果内容是数字或者中文数字会闪退,
poiSearchNearBy 打印返回结果是 true
重现步骤
[步骤]
[结果]
[期望]

运行环境
真机测试

附件
plus.geolocation.getCurrentPosition(function(p) {
console.log('sssss');
x = p.coords.longitude;
y = p.coords.latitude;
point = new plus.maps.Point(x, y);
console.log(JSON.stringify(point));
var search_bool = searchObj.poiSearchNearBy('八', point, 5000);
console.log(search_bool);
if(search_bool){
// searchObj.onPoiSearchComplete = function(state, result) {
// if (state == 0) {
// console.log("aaaaaa");
// } else {
// alert("检索失败");
// }
// }
}else{
return
}
});

联系方式
1935825316
[电话]

2016-06-06 17:37 负责人:无 分享
已邀请:
尔Eset

尔Eset (作者)

<!DOCTYPE html>
<html>

<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
    <title></title>  
    <link href="../css/mui.min.css" rel="stylesheet" />  
    <style type="text/css">  
        #result_liebiao{  
                margin-bottom: 44px;  
                background-color: rgb(255,255,255);  
            }  
            #result_list {  
                font-size: 15px;  
                padding: 5px;  
                padding-left: 10px;  
            }  

            #result_list #i2 {  
                font-size: 12px;  
                color: #666;  
            }  
    </style>  
</head>  

<body>  
    <header class="mui-bar mui-bar-nav" style="padding-right: 0px;">  
        <a id="back_one" class="mui-action-back mui-icon mui-icon-left-nav "></a>  
        <h1 class="mui-title" style="font-size: 12px;">  
        <div id="inp" >  
            <input type="text" name="" id="keywords" placeholder="搜索目的地位置" style="text-align: left;"/>  
        </div>  
        </h1>  
    </header>  
    <div id="listing_One" class="mui-content">  
        <marquee class="result_liebiao" id="result_liebiao" direction="up" behavior="slide" scrollamount="55" scrolldelay="0" height="100%" loop="1">  
        </marquee>  
    </div>  
</body>  

</html>
<script type="text/javascript" src="../js/mui.min.js"></script>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/myApp.js"></script>
<script type="text/javascript" charset="UTF-8">
mui.init();
var x = null,
y = null;
var ws = null,
wo = null;
var em = null,
map = null;
var vals;

var pd=true;
//初始化puls
mui.plusReady(function () {
var searchObj = new plus.maps.Search();
function Search_fun(){
// 将检索到的第一条信息作为标点添加到地图中
searchObj.onPoiSearchComplete = function(state, result) {
var embed="";
for (var i = 0; i < result.currentNumber; i++) {
embed += '<div id="result_list" ><span id="" class="termini_point" style="display: none;">'+JSON.stringify(result.getPosition(i).point)+'</span><span class="result_span">'+result.getPosition(i).name+'</span><br /><span id="i2">'+result.getPosition(i).address+'</span></div><hr />';
}
document.getElementById("result_liebiao").innerHTML=embed;

        mui('.result_liebiao').on('tap','div',function(){  
        if(pd){  
            pd=false;  
            var termini_name = this.getElementsByClassName('result_span')[0].innerHTML;  
            var termini_point = this.getElementsByClassName('termini_point')[0].innerHTML;  
            plus.storage.setItem('termini_point',termini_point);  
            plus.storage.setItem('termini_name',termini_name);  

// ycOpenViewSimppleMini('yc_appoint_distance.html');
mui.openWindow({
url: 'yc_appoint_distance.html',
id: 'yc_appoint_distance',
createNew: false, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示
show: {
autoShow: true, //页面loaded事件发生后自动显示,默认为true
aniShow: 'pop-in', //页面显示动画,默认为”slide-in-right“;
duration: '320', //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
},
waiting: {
autoShow: false, //自动显示等待框,默认为true
}
})
var wobj = plus.webview.getWebviewById('yc_appoint_distance');
wobj.evalJS('refresh()');
setTimeout(function(){
var wobj = plus.webview.currentWebview();
wobj.close();
},1000)
}
});

        if (state == 0) {  
            if (result.currentNumber <= 0) {  
                alert("没有检索到结果");  
            }  
        } else {  
            alert("检索失败");  
        }  
    }  
}  
var keyword = document.getElementById("keywords");  
keyword.addEventListener("input", function() {  
    /*只要输入框内容发生变化都会触发input*/  
    vals = $(this).val(); //val就是当前输入框实时的内容  
    if(vals == ''){  

    }else if(sole_string(vals)){  
        var numbers=new Array('一','二','三','四','五','六','七','八','九','十');  
        for(var i=0;i<numbers.length;i++){  
            console.log(numbers[i]);  
            if(vals==""){  
                return;  
            }else if(vals == numbers[i]){  

// console.log(numbers[i]);
vals == "";
alert('请输入两个以上的中文数字方便更精确的搜索哟!');
return;
}
}

        plus.geolocation.getCurrentPosition(function(p) {  
            x = p.coords.longitude;  
            y = p.coords.latitude;  
            point = new plus.maps.Point(x, y);  
            searchObj.poiSearchNearBy(vals, point, 5000);  
            Search_fun();  
        });  
    }else{   
        alert('请输入中文方便更精确的搜索哟!');  
    }  
});  
var back_one = document.getElementById("back_one").addEventListener('tap',function(){  
    ycOpenViewSimppleMini("yc_appoint_distance.html");  
})  
mui.back=function(){  
    ycOpenViewSimppleMini("yc_appoint_distance.html");      
    var wobj = plus.webview.currentWebview();  
    wobj.close();  
}  

});
</script>

完整代码

该问题目前已经被锁定, 无法添加新回复