引用百度jsApi
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=xxxxxxxxxxxx"></script>
创建地址解析器:
var localSearch = null;
//查询参数
var options = {
//智能搜索
onSearchComplete: function (results) {
//查询结果状态码
if (localSearch.getStatus() == BMAP_STATUS_SUCCESS) {
var s = convertMapSearch(results); //对结果进行处理
model.locationAddress(s); //将结果数据赋予knockout对象数组(可用其他数组对象代替)
}
}
};
localSearch = new BMap.LocalSearch("城市", options);
结合knockout的textInput绑定方法和对象的subscribe属性,实现输入框变化实时查询功能。
//绑定
<input id="txtAddress" type="text" placeholder="请输入用餐地址" data-bind="textInput: addressInput" />//subscribe属性 在输入变化的时候执行地址查询
sf.addressInput.subscribe(function (val) {
var addr = $.trim(val);
if (addr == "") {
return;
}
localSearch.search(addr);
});