iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >JS如何实现百度地图搜索悬浮窗功能
  • 739
分享到

JS如何实现百度地图搜索悬浮窗功能

2024-04-02 19:04:59 739人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关js如何实现百度地图搜索悬浮窗功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这个需求的效果类似下面的截图,主要还是利用百度地图中自定义控件

这篇文章将为大家详细讲解有关js如何实现百度地图搜索悬浮窗功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

这个需求的效果类似下面的截图,主要还是利用百度地图中自定义控件的功能,挺简单的。文档地址在这 Http://lbsyun.baidu.com/index.PHP?title=jspopular

效果图:

JS如何实现百度地图搜索悬浮窗功能

代码

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="viewport" content="initial-scale=1.0, user-Scalable=no" />
 <style type="text/CSS">
  body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}
  #l-map{height:300px;width:100%;}
  #r-result{width:100%;}
 </style>
 <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
 <title>关键字输入提示词条</title>
</head>
<body>
 <div id="l-map">
 </div>
</body>
</html>

<script type="text/javascript">
 // 百度地图API功能
 function G(id) {
  return document.getElementById(id);
 }

 var map = new BMap.Map("l-map");
 map.centerAndZoom("北京",10); // 初始化地图,设置城市和地图级别。

 // 定义一个控件类,即function
 function ZoomControl() {
  this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;
  this.defaultOffset = new BMap.Size(10, 10);
 }

 // 通过JavaScript的prototype属性继承于BMap.Control
 ZoomControl.prototype = new BMap.Control();

 // 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回
 // 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中
 ZoomControl.prototype.initialize = function(map){
  // 创建一个DOM元素
  var div = document.createElement("div");
  div.innerHTML = '<div id="r-result">搜索地址:<input type="text" id="suggestId" size="20" value="百度"  /></div><div id="searchResultPanel" ></div>';

  // 添加DOM元素到地图中
  map.getContainer().appendChild(div);
  // 将DOM元素返回
  return div;
 }

 // 创建控件
 var myZoomCtrl = new ZoomControl();
 // 添加到地图当中
 map.addControl(myZoomCtrl);


 var ac = new BMap.Autocomplete( //建立一个自动完成的对象
  {"input" : "suggestId"
  ,"location" : map
 });

 ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件
 var str = "";
  var _value = e.fromitem.value;
  var value = "";
  if (e.fromitem.index > -1) {
   value = _value.province + _value.city + _value.district + _value.street + _value.business;
  }
  str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;

  value = "";
  if (e.toitem.index > -1) {
   _value = e.toitem.value;
   value = _value.province + _value.city + _value.district + _value.street + _value.business;
  }
  str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
  G("searchResultPanel").innerHTML = str;
 });

 var myValue;
 ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
 var _value = e.item.value;
  myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
  G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;

  setPlace();
 });

 function setPlace(){
  map.clearOverlays(); //清除地图上所有覆盖物
  function myFun(){
   var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
   map.centerAndZoom(pp, 14);
   map.addOverlay(new BMap.Marker(pp)); //添加标注
  }
  var local = new BMap.LocalSearch(map, { //智能搜索
   onSearchComplete: myFun
  });
  local.search(myValue);
 }
</script>

关于“JS如何实现百度地图搜索悬浮窗功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: JS如何实现百度地图搜索悬浮窗功能

本文链接: https://www.lsjlt.com/news/72158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS如何实现百度地图搜索悬浮窗功能
    这篇文章将为大家详细讲解有关JS如何实现百度地图搜索悬浮窗功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这个需求的效果类似下面的截图,主要还是利用百度地图中自定义控件...
    99+
    2024-04-02
  • 怎么使用electron实现百度网盘悬浮窗口功能
    这篇文章将为大家详细讲解有关怎么使用electron实现百度网盘悬浮窗口功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。相关依赖里面使用了vuex vue vue-ro...
    99+
    2024-04-02
  • js如何实现悬浮窗效果
    小编给大家分享一下js如何实现悬浮窗效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOCTYPE...
    99+
    2024-04-02
  • php如何实现类似百度搜索功能
    这篇“php如何实现类似百度搜索功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现类似百度搜索功能”文章吧。p...
    99+
    2023-07-05
  • AJax如何实现类似百度搜索栏的功能
    小编给大家分享一下AJax如何实现类似百度搜索栏的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实习过程中需要用到异步提交功能,于是试着去了解了一下ajax,...
    99+
    2023-06-08
  • jQuery如何实现悬浮层功能
    这篇文章给大家分享的是有关jQuery如何实现悬浮层功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:运行效果图如下:具体代码如下:<!DOCTYPE ...
    99+
    2024-04-02
  • Vue.js如何实现鼠标悬浮更换图片功能
    这篇文章主要介绍Vue.js如何实现鼠标悬浮更换图片功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近自己做的项目中设计师要求分类栏中鼠标悬停更换图片,大致实现出来的效果就是这样...
    99+
    2024-04-02
  • Vue项目引用百度地图并实现搜索定位等功能(案例分析)
    目录一、效果图及功能点二、前期准备三、引入百度地图四、功能解析本文给大家介绍如何在vue项目中引用百度地图,并设计实现简单的地图定位、地址搜索功能。 Tip:本篇文章为案例分析,技术...
    99+
    2024-04-02
  • JS如何模拟实现百度搜索框和选项卡
    这篇文章主要介绍了JS如何模拟实现百度搜索框和选项卡,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。练习1实现搜索框内,输入相关数字,在下方显示相关内容,模拟百度搜索,详细代码...
    99+
    2023-06-29
  • vue中百度地图定位及附近搜索功能使用步骤
    目录1.地图初始化相关2.获取当前定位3.根据当前定位地址附近搜索建议1.地图初始化相关 文档:lbs.baidu.com/index.phpt… 申请账号 =>...
    99+
    2024-04-02
  • css如何实现带搜索图标的搜索框功能
    这篇文章给大家分享的是有关css如何实现带搜索图标的搜索框功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言给大家分享一下前端用处很多的带小图标的搜索框的制作方法。效果展示基本思路搜索图像用绝对定位放到搜索框...
    99+
    2023-06-08
  • javaweb搜索功能如何实现
    要实现JavaWeb的搜索功能,可以按照以下步骤进行:1. 建立数据库:创建一个适合存储搜索内容的数据库表。例如,可以创建一个包含标...
    99+
    2023-09-21
    javaweb
  • Vue集成百度地图实现位置选择功能
    目录Vue集成百度地图实现位置选择百度地图选择地址效果集成百度地图的具体实现第一步:引入百度地图 JavaScript API v3.0 文件第二步:编写百度地图选择位置组件第三步:...
    99+
    2024-04-02
  • 如何使用JS实现仿百度文库评分功能
    这篇文章主要介绍如何使用JS实现仿百度文库评分功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码如下所示:<!DOCTYPE html PUBLIC...
    99+
    2024-04-02
  • vs中如何实现搜索功能
    在VS中实现搜索功能可以通过以下步骤进行:1. 添加搜索框:在界面中添加一个文本框作为搜索框,供用户输入搜索关键字。2. 添加搜索按...
    99+
    2023-08-23
    vs
  • vue如何实现搜索小功能
    这篇文章主要介绍vue如何实现搜索小功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下<!DOCTYPE html><html> <head>&nb...
    99+
    2023-06-21
  • 如何用vue代码实现表格缩略图悬浮放大功能
    这篇文章主要介绍了如何用vue代码实现表格缩略图悬浮放大功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用vue代码实现表格缩略图悬浮放大功能文章都会有所收获,下面我们一起来看看吧。element-ui界...
    99+
    2023-07-04
  • vue中如何实现element-ui表格缩略图悬浮放大功能
    这篇文章给大家分享的是有关vue中如何实现element-ui表格缩略图悬浮放大功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。element-ui界面非常简洁和美观,提供的组...
    99+
    2024-04-02
  • 如何使用Python通过获取剪切板数据实现百度划词搜索功能
    小编给大家分享一下如何使用Python通过获取剪切板数据实现百度划词搜索功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、实现划词功能说是划词翻译,实际上我们...
    99+
    2023-06-15
  • web用php如何实现搜索功能
    本篇内容介绍了“web用php如何实现搜索功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建搜索表单在网站主页面上添加一个搜索表单,通常...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作