js调用百度地图搜索功能

引用百度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);
        });
原文地址:https://www.cnblogs.com/lc-ant/p/4786753.html