test.html 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  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=utf8">
  6. <style type="text/css">
  7. html,body{height:100%;margin:0px;padding:0px;font-family:"微软雅黑";font-size:14px;}
  8. #allmap{height:100%;width:100%; margin:0 auto;}
  9. .optionpanel{margin: 10px auto;}
  10. #r-result{ margin:0 auto; width:500px; position: absolute; top:0px;}
  11. .anchorBL {display:none;}
  12. img
  13. {
  14. opacity:0.85;
  15. }
  16. </style>
  17. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4FjGxlxzQrIkl7BxwMPl6da5yMxsXwp4"></script>
  18. <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
  19. <title>个性底图设置模板Demo页</title>
  20. </head>
  21. <body>
  22. <div id="allmap"></div>
  23. <div id="r-result">
  24. <div class="optionpanel">
  25. <label>选择主题</label>
  26. <select id="stylelist" onchange="changeMapStyle(this.value)"></select>
  27. </div>
  28. 请输入:<input type="text" id="suggestId" size="20" value="上海市闵行区莘松六村-34号楼" style="width:220px;" />
  29. <input type="button" style="margin-left:20px;height:25px;" value="定位" class="button ui-corner-all" onclick="setPlace2();">
  30. </div>
  31. <div id="searchResultPanel" style=" position: absolute; border:1px solid #C0C0C0; width:220px; height:auto; display:none;"></div>
  32. <div id="Panel1" style=" position: absolute; border:1px solid #C0C0C0; bottom:0px; left:0px; height:auto;"><img src="./images/bj2.png"></div>
  33. <div id="Panel2" style=" position: absolute; border:1px solid #C0C0C0; bottom:0px; right:0px; height:auto;"><img src="./images/xx.jpg"></div>
  34. </body>
  35. </html>
  36. <script type="text/javascript" src="http://lbsyun.baidu.com/custom/stylelist.js"></script>
  37. <script type="text/javascript">
  38. //初始化模板选择的下拉框
  39. var sel = document.getElementById('stylelist');
  40. for(var key in mapstyles){
  41. var style = mapstyles[key];
  42. var item = new Option(style.title,key);
  43. sel.options.add(item);
  44. }
  45. var map = new BMap.Map("allmap");
  46. window.map = map;
  47. var point = new BMap.Point(121.48,31.22);
  48. map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件
  49. map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
  50. map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
  51. map.enableScrollWheelZoom(); //启用滚轮放大缩小
  52. map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
  53. map.disable3DBuilding();
  54. map.centerAndZoom(point, 9);
  55. /*map.addEventListener("click",function(e){
  56. alert(e.point.lng + "," + e.point.lat);
  57. });*/
  58. //代码使用如下,即可. 模板页可以查看http://lbsyun.baidu.com/custom/list.htm
  59. //map.setMapStyle({style:'midnight'});
  60. changeMapStyle('midnight')
  61. sel.value = 'midnight';
  62. function changeMapStyle(style){
  63. map.setMapStyle({style:style});
  64. $('#desc').html(mapstyles[style].desc);
  65. }
  66. //输入搜索
  67. function G(id) {
  68. return document.getElementById(id);
  69. }
  70. var ac = new BMap.Autocomplete( //建立一个自动完成的对象
  71. {"input" : "suggestId"
  72. ,"location" : map
  73. });
  74. ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件
  75. var str = "";
  76. var _value = e.fromitem.value;
  77. var value = "";
  78. if (e.fromitem.index > -1) {
  79. value = _value.province + _value.city + _value.district + _value.street + _value.business;
  80. }
  81. str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
  82. value = "";
  83. if (e.toitem.index > -1) {
  84. _value = e.toitem.value;
  85. value = _value.province + _value.city + _value.district + _value.street + _value.business;
  86. }
  87. str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
  88. G("searchResultPanel").innerHTML = str;
  89. });
  90. var myValue;
  91. ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
  92. var _value = e.item.value;
  93. myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
  94. G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
  95. setPlace();
  96. });
  97. function setPlace(){
  98. map.clearOverlays(); //清除地图上所有覆盖物
  99. function myFun(){
  100. var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
  101. console.log(local.getResults());
  102. map.centerAndZoom(pp, 19);
  103. map.addOverlay(new BMap.Marker(pp)); //添加标注
  104. }
  105. var local = new BMap.LocalSearch(map, { //智能搜索
  106. onSearchComplete: myFun
  107. });
  108. local.search(myValue);
  109. }
  110. function setPlace2(){
  111. myValue1=document.getElementById("suggestId").value;
  112. console.log(myValue1);
  113. map.clearOverlays();
  114. function myFun(){
  115. var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
  116. console.log(local.getPosition());
  117. map.centerAndZoom(pp, 19);
  118. map.addOverlay(new BMap.Marker(pp)); //添加标注
  119. }
  120. var local = new BMap.LocalSearch(map, { //智能搜索
  121. onSearchComplete: myFun
  122. });
  123. local.search(myValue1);
  124. }
  125. //创建小狐狸
  126. /*var pt = new BMap.Point(121.37401,31.113346);
  127. var marker2 = new BMap.Marker(pt,{icon:myIcon}); // 创建标注
  128. map.addOverlay(marker2); // 将标注添加到地图中 */
  129. var myIcon = new BMap.Icon("./images/1.png", new BMap.Size(30,30));
  130. var data_info = [[121.37401,31.113346,"地址:上海市闵行区莘松六村34栋"],
  131. [121.37426,31.113455,"地址:上海市闵行区莘松六村33栋"]
  132. ,[121.481152,31.235372,"地址:上海市人民广场"]
  133. ,[121.398378,31.237817 ,"地址:上海市普陀区申汉大厦-c座"]
  134. ,[121.399029,31.240878,"地址:上海市普陀区五芳斋大厦"]
  135. ,[121.254655,31.142278,"地址:xxxx"]
  136. ,[121.223156,31.140878,"地址:zzzzzz"]];
  137. var opts = {
  138. width : 250, // 信息窗口宽度
  139. height: 80, // 信息窗口高度
  140. title : "信息窗口" , // 信息窗口标题
  141. enableMessage:true//设置允许信息窗发送短息
  142. };
  143. for(var i=0;i<data_info.length;i++){
  144. var marker = new BMap.Marker(new BMap.Point(data_info[i][0],data_info[i][1]),{icon:myIcon}); // 创建标注
  145. var content = data_info[i][2];
  146. map.addOverlay(marker); // 将标注添加到地图中
  147. addClickHandler(content,marker);
  148. }
  149. function addClickHandler(content,marker){
  150. marker.addEventListener("click",function(e){
  151. openInfo(content,e)}
  152. );
  153. }
  154. function openInfo(content,e){
  155. var p = e.target;
  156. var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
  157. var infoWindow = new BMap.InfoWindow(content,opts); // 创建信息窗口对象
  158. map.openInfoWindow(infoWindow,point); //开启信息窗口
  159. }
  160. </script>