百度地图API显示多个标注点并添加百度样式检索窗口

简介:   1 DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
  1  <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
  2  < html  xmlns ="http://www.w3.org/1999/xhtml" >
  3  < head >
  4      < title >百度地图API显示多个标注点带百度样式信息检索窗口的代码 </ title >
  5      <!--  原作博客地址:http://blog.csdn.net/a497785609/article/details/24009031  -->
  6      <!-- css -->
  7      < link  href ="style/demo.css"  rel ="stylesheet"  type ="text/css"   />
  8      <!-- javascript -->
  9      < script  src ="scripts/jquery-1.9.1.js"  type ="text/javascript" ></ script >
 10      < script  src ="scripts/demo.js"  type ="text/javascript" ></ script >
 11  < script  type ="text/javascript"  src ="http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR" ></ script >
 12  < script  type ="text/javascript"  src ="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js" ></ script >
 13  < link  rel ="stylesheet"  href ="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css"   />    
 14  </ head >
 15  < body >
 16      < div  class ="demo_main" >
 17          < fieldset  class ="demo_title" >
 18             百度地图API显示多个标注点带提示的代码
 19          </ fieldset >
 20          < fieldset  class ="demo_content" >
 21              < div  style ="min-height: 300px; width: 100%;"  id ="map" >
 22              </ div >
 23              < script  type ="text/javascript" >
 24                  var markerArr = [
 25                     { title: "名称:广州火车站", point: "113.264531,23.157003", address: "广东省广州市广州火车站", tel: "12306" },
 26                     { title: "名称:广州塔(赤岗塔)", point: "113.330934,23.113401", address: "广东省广州市广州塔(赤岗塔) ", tel: "18500000000" },
 27                     { title: "名称:广州动物园", point: "113.312213,23.147267", address: "广东省广州市广州动物园", tel: "18500000000" },
 28                     { title: "名称:天河公园", point: "113.372867,23.134274", address: "广东省广州市天河公园", tel: "18500000000" }
 29                 ];
 30                  function map_init() {
 31                      var map =  new BMap.Map("map");  //  创建Map实例
 32                       var point =  new BMap.Point(113.312213, 23.147267);  // 地图中心点,广州市
 33                      map.centerAndZoom(point, 13);  //  初始化地图,设置中心点坐标和地图级别。
 34                      map.enableScrollWheelZoom( true);  // 启用滚轮放大缩小
 35                       // 地图、卫星、混合模式切换
 36                      map.addControl( new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]}));
 37                      // 向地图中添加缩放控件
 38                       var ctrlNav =  new window.BMap.NavigationControl({
 39                         anchor: BMAP_ANCHOR_TOP_LEFT,
 40                         type: BMAP_NAVIGATION_CONTROL_LARGE
 41                     });
 42                     map.addControl(ctrlNav);
 43                      // 向地图中添加缩略图控件
 44                       var ctrlOve =  new window.BMap.OverviewMapControl({
 45                         anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
 46                         isOpen: 1
 47                     });
 48                     map.addControl(ctrlOve);
 49                      // 向地图中添加比例尺控件
 50                       var ctrlSca =  new window.BMap.ScaleControl({
 51                         anchor: BMAP_ANCHOR_BOTTOM_LEFT
 52                     });
 53                     map.addControl(ctrlSca);
 54  
 55                      var point =  new Array();  // 存放标注点经纬信息的数组
 56                       var marker =  new Array();  // 存放标注点对象的数组
 57                       var info =  new Array();  // 存放提示信息窗口对象的数组
 58                       var searchInfoWindow = new Array(); // 存放检索信息窗口对象的数组
 59                       for ( var i = 0; i < markerArr.length; i++) {
 60                          var p0 = markerArr[i].point.split(",")[0];  //
 61                           var p1 = markerArr[i].point.split(",")[1];  // 按照原数组的point格式将地图点坐标的经纬度分别提出来
 62                          point[i] =  new window.BMap.Point(p0, p1);  // 循环生成新的地图点
 63                          marker[i] =  new window.BMap.Marker(point[i]);  // 按照地图点坐标生成标记
 64                          map.addOverlay(marker[i]);
 65                         marker[i].setAnimation(BMAP_ANIMATION_BOUNCE);  // 跳动的动画
 66                 // 显示marker的title,marker多的话可以注释掉
 67                           var label =  new window.BMap.Label(markerArr[i].title, { offset:  new window.BMap.Size(20, -10) });
 68                         marker[i].setLabel(label);
 69                          //  创建信息窗口对象
 70                          info[i] = "<p style=’font-size:12px;lineheight:1.8em;’>" + "</br>地址:" + markerArr[i].address + "</br> 电话:" + markerArr[i].tel + "</br></p>";
 71                          // 创建百度样式检索信息窗口对象                       
 72                          searchInfoWindow[i] =  new BMapLib.SearchInfoWindow(map, info[i], {
 73                                 title  : markerArr[i].title,       // 标题
 74                                  width  : 290,              // 宽度
 75                                  height : 55,               // 高度
 76                                  panel  : "panel",          // 检索结果面板
 77                                  enableAutoPan :  true,      // 自动平移
 78                                  searchTypes   :[
 79                                     BMAPLIB_TAB_SEARCH,    // 周边检索
 80                                      BMAPLIB_TAB_TO_HERE,   // 到这里去
 81                                      BMAPLIB_TAB_FROM_HERE  // 从这里出发
 82                                  ]
 83                             });
 84                          // 添加点击事件
 85                          marker[i].addEventListener("click", 
 86                             ( function(k){
 87                                  //  js 闭包
 88                                   return  function(){
 89                                      // 将被点击marker置为中心
 90                                       // map.centerAndZoom(point[k], 18);
 91                                       // 在marker上打开检索信息窗口
 92                                      searchInfoWindow[k].open(marker[k]);
 93                                 }
 94                             })(i)                            
 95                         ); 
 96                     }                  
 97                 }
 98                  // 异步调用百度js
 99                   function map_load() {
100                      var load = document.createElement("script");
101                     load.src = "http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR&callback=map_init";
102                     document.body.appendChild(load);
103                 }
104                 window.onload = map_load;
105              </ script >
106          </ fieldset >
107      </ div >
108  </ body >
109  </ html >
若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
3月前
|
API 数据库 决策智能
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 智能工具调用决策的智能体
本文介绍了一种基于阿里云百炼平台的`qwen-max` API构建的智能体方案,该方案集成了检索增强、图谱增强及智能工具调用决策三大模块,旨在通过结合外部数据源、知识图谱和自动化决策提高智能回答的准确性和丰富度。通过具体代码示例展示了如何实现这些功能,最终形成一个能灵活应对多种查询需求的智能系统。
294 11
|
3月前
|
自然语言处理 NoSQL API
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 基于指令的智能工具调用决策 智能体
基于百炼平台的 `qwen-max` API,设计了一套融合检索增强、图谱增强及指令驱动的智能工具调用决策系统。该系统通过解析用户指令,智能选择调用检索、图谱推理或模型生成等工具,以提高问题回答的准确性和丰富性。系统设计包括指令解析、工具调用决策、检索增强、图谱增强等模块,旨在通过多种技术手段综合提升智能体的能力。
312 5
|
4月前
|
新能源 API
百科-百度免费API接口教程
该接口用于从百度百科获取指定名词的基础解释。支持POST或GET请求,需提供用户ID、用户KEY及查询内容。返回状态码和解释内容或错误提示。示例:https://cn.apihz.cn/api/zici/baikebaidu.php?id=88888888&key=88888888&words=汽车。建议使用个人ID与KEY以享受更高调用频次。
|
4月前
|
API
表情包-百度版免费API接口教程
该接口用于通过指定关键词从百度渠道获取表情包,支持POST或GET请求。需提供用户ID和KEY,可选参数包括关键词、页码及结果数量。返回数据包含状态码、信息提示、结果集等。示例中ID与KEY为公共测试用,建议使用个人ID与KEY以享受更高调用频率。
|
4月前
|
API
通用图片搜索-百度源免费API接口教程
该接口用于搜索百度图片,支持通过关键词、页码、结果数量等参数获取图片搜索结果。请求方式为POST或GET,需提供用户ID和KEY,可选参数包括关键词、页码、结果数量及返回源类型。返回结果包含状态码、信息提示、结果集、当前页码、最大页码和结果数量。示例中提供了GET和POST请求方法及返回数据示例。
|
7月前
|
存储 搜索推荐 数据管理
检索服务elasticsearchRESTful API
【8月更文挑战第22天】
44 1
|
7月前
|
JavaScript 前端开发 定位技术
百度地图JavaScript API v2.0创建地图
百度地图JavaScript API v2.0创建地图
94 0
|
8月前
|
JavaScript 前端开发 定位技术
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
356 0
|
20天前
|
API PHP 开发者
速卖通商品详情接口(速卖通API系列)
速卖通(AliExpress)是阿里巴巴旗下的跨境电商平台,提供丰富的商品数据。通过速卖通开放平台(AliExpress Open API),开发者可获取商品详情、订单管理等数据。主要功能包括商品搜索、商品详情、订单管理和数据报告。商品详情接口aliexpress.affiliate.productdetail.get用于获取商品标题、价格、图片等详细信息。开发者需注册账号并创建应用以获取App Key和App Secret,使用PHP等语言调用API。该接口支持多种请求参数和返回字段,方便集成到各类电商应用中。
|
18天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
51 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡

热门文章

最新文章