利用百度地图API实现输入框地址联想功能

       网上关于地址输入框联想自动补全的博文一大堆,开始我也是网上百度各种方法但是都没有成功,建议各位直接学习百度地图开放平台的官方API文档,下面给出百度地图开放平台的链接:

百度地图开放平台

        进入百度地图开放平台的官网后,选择查看你所需要的开发文档,想要实现自己的功能就耐心慢慢学习对应的开发文档吧,想要偷懒一点或者不太了解其他相关知识其实直接复制DEMO示例里面的源代码就可以实现给出的示例功能。

下面我自己做的demo是一个网页中input标签输入框实现关键字地址联想功能,点击任意联想结果实现地址自动补全,截图如下:

      我只在地址输入框写下了关键字“百度” ,然后就在这个输入框下面自动弹出联想结果面板。

HTML代码如下:

<!DOCTYPE html>
<html>
    <head>
	<meta charset="UTF-8">
	<title></title>
	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4IU3oIAMpZhfWZsMu7xzqBBAf6vMHcoa"></script>
        <!-- 参数ak=""是你的开发者密钥,在百度地图开放平台官网可免费获取 -->
    </head>
    <body>
        <div class="" id="">
            <input id="suggestId" name="" type="text" class="" placeholder="请输入地址" required="required">
        </div>
    </body>
</html>

<script type="text/javascript">
    loadMapAutocomplete("suggestId");
    function loadMapAutocomplete(mySuggestId) {
        Ac = new BMap.Autocomplete( //建立一个自动完成的对象
            {
                "input": suggestId,
            });
    }
</script>

     我这个小demo非常简单直接,参考的是开发文档里面web开发的JavaScript API,每一个API文档里面都有很多示例DEMO。

       地址联想功能参考的是输入提示示例demo,这里百度给出demo的源代码比较复杂。

       实际上就单纯实现输入框的地址关键字联想功能而言,只需要我上面给出的几行代码就OK。想要详细了解百度地图开放给开发者的功能请各位耐心学习官方开发文档。

下面给出一个有价值的参考链接:

百度map开发初步及常见问题 

 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现输入框联想功能,可以使用Vue的computed属性和watch属性来实现。 首先,我们可以使用computed属性来动态计算输入框联想的结果。在computed属性中,我们可以根据输入框的值和数据源进行过滤,返回一个符合条件的联想词列表。 然后,我们可以使用watch属性来监听输入框的值的变化。当输入框的值改变时,watch属性会触发相应的回调函数,我们可以在这个回调函数中更新联想词列表的值。 以下是一个简单的示例代码: ```html <template> <div> <input type="text" v-model="inputValue" @input="handleInput" /> <ul> <li v-for="item in suggestList" :key="item">{{ item }}</li> </ul> </div> </template> <script> export default { data() { return { inputValue: '', suggestList: [] }; }, computed: { filteredList() { return this.suggestList.filter(item => item.includes(this.inputValue) ); } }, watch: { inputValue(newVal) { // 模拟异步请求获取联想词数据 setTimeout(() => { this.suggestList = ['apple', 'banana', 'cherry', 'date']; }, 500); } }, methods: { handleInput() { // 清空联想词列表 this.suggestList = []; } } }; </script> ``` 在以上示例中,我们通过v-model指令将输入框的值与data中的inputValue进行双向绑定。在computed属性中,我们使用filter函数对数据源suggestList进行过滤,只返回包含输入框值的联想词。在watch属性中,我们监听inputValue的变化,并在回调函数中通过模拟异步请求获取联想词数据,并将结果赋值给suggestList。同时,我们还在@input事件中调用了handleInput方法,用于清空联想词列表。 这样,当输入框的值改变时,联想词列表会根据新的值进行过滤并更新。 相关问题: 1. 如何实现输入框联想词的实时搜索功能? 2. 如何优化输入框联想功能的性能? 3. 如何实现输入框联想词的下拉选择功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值