首页 > 语言 > JavaScript > 正文

js调用百度地图及调用百度地图的搜索功能

2024-05-06 16:24:31
字体:大 中 小
来源:转载
供稿:网友

本文给大家介绍js调用百度地图的方法以及调用百度地图的搜索功能,有需要的朋友可以跟着武林网的小编一起学习

js调用百度地图的方法

代码如下:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6. <title>Hello, World</title> 
  7. <style type="text/css"> 
  8. html 
  9. { 
  10. height: 100%; 
  11. } 
  12. body 
  13. { 
  14. height: 50%; 
  15. margin: 0px; 
  16. padding: 0px; 
  17. } 
  18. #container 
  19. { 
  20. width:600px; 
  21. height: 500px; 
  22. } 
  23. </style> 
  24. <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script> 
  25. </head> 
  26. <body onload="loand()"> 
  27. <div id="container"> 
  28. </div> 
  29. <input id="lng" type="hidden" runat="server" /> 
  30. <input id="lat" type="hidden" runat="server" /> 
  31. <input id="Button1" type="button" value="标记图标" runat="server" onclick="getbiaoji()" /> 
  32. <script type="text/javascript"> 
  33. function getbiaoji() { 
  34. var lng = document.getElementByIdx_x("lng").value; 
  35. var lat = document.getElementByIdx_x("lat").value; 
  36. var map = new BMap.Map("container"); 
  37. var point = new BMap.Point(lng, lat); 
  38. var marker = new BMap.Marker(point); 
  39. var opts = { 
  40. width: 250, // 信息窗口宽度  
  41. height: 100, // 信息窗口高度  
  42. title: "经销商地址" // 信息窗口标题  
  43. } 
  44. var infoWindow = new BMap.InfoWindow("移动拖拽 标记经销商地址:" + lng + lat, opts); // 创建信息窗口对象 
  45. marker.enableDragging(); //启用拖拽 
  46. map.addControl(new BMap.NavigationControl()); //左上角控件 
  47. map.enableScrollWheelZoom(); //滚动放大 
  48. map.enableKeyboard(); //键盘放大 
  49. map.centerAndZoom(point, 13); //绘制地图 
  50. map.addOverlay(marker); //标记地图 
  51. map.openInfoWindow(infoWindow, map.getCenter()); 
  52. } 
  53. function loand() { 
  54. var map = new BMap.Map("container"); 
  55. var point = new BMap.Point(104.083, 30.686); //默认中心点 
  56. var marker = new BMap.Marker(point); 
  57. var opts = { 
  58. width: 250, // 信息窗口宽度  
  59. height: 100, // 信息窗口高度  
  60. title: "经销商地址" // 信息窗口标题  
  61. } 
  62. var infoWindow = new BMap.InfoWindow("移动拖拽 标记经销商地址", opts); // 创建信息窗口对象 
  63. marker.enableDragging(); //启用拖拽 
  64. marker.addEventListener("dragend", function (e) { 
  65. point = new BMap.Point(e.point.lng, e.point.lat); //标记坐标(拖拽以后的坐标) 
  66. marker = new BMap.Marker(point); 
  67. document.getElementByIdx_x("lng").value = e.point.lng; 
  68. document.getElementByIdx_x("lat").value = e.point.lat; 
  69. infoWindow = new BMap.InfoWindow("当前位置<br />经度:" + e.point.lng + "<br />纬度:" + e.point.lat, opts); 
  70. map.openInfoWindow(infoWindow, point); 
  71. }) 
  72. map.addControl(new BMap.NavigationControl()); //左上角控件 
  73. map.enableScrollWheelZoom(); //滚动放大 
  74. map.enableKeyboard(); //键盘放大 
  75. map.centerAndZoom(point, 13); //绘制地图 
  76. map.addOverlay(marker); //标记地图 
  77. map.openInfoWindow(infoWindow, map.getCenter()); // 打开信息窗口  
  78. } 
  79. </script> 
  80. </body> 
  81. </html> 

js调用百度地图搜索

引用百度js Api

 

 
  1. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=xxxxxxxxxxxx"></script> 

创建地址解析器:

 

 
  1. var localSearch = null; 
  2. //查询参数 
  3. var options = { 
  4. //智能搜索 
  5. onSearchComplete: function (results) { 
  6. //查询结果状态码 
  7. if (localSearch.getStatus() == BMAP_STATUS_SUCCESS) { 
  8. var s = convertMapSearch(results); //对结果进行处理 
  9. model.locationAddress(s); //将结果数据赋予knockout对象数组(可用其他数组对象代替) 
  10. } 
  11. } 
  12. }; 
  13. localSearch = new BMap.LocalSearch("城市", options); 

结合knockout的textInput绑定方法和对象的subscribe属性,实现输入框变化实时查询功能。

 

 
  1. //绑定 
  2. <input id="txtAddress" type="text" placeholder="请输入用餐地址" data-bind="textInput: addressInput" /> 
  3. //subscribe属性 在输入变化的时候执行地址查询 
  4. sf.addressInput.subscribe(function (val) { 
  5. var addr = $.trim(val); 
  6. if (addr == "") { 
  7. return; 
  8. } 
  9. localSearch.search(addr); 
  10. }); 

以上就是武林网的小编给大家分享的js调用百度地图及调用百度地图的搜索功能,有关更多关于百度地图相关内容,请持续关注本站,本站没有都有新的内容更新。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选