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

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

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

图片精选