引用百度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); });