mapXY.jsp 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6. %>
  7. <!DOCTYPE html>
  8. <html lang="en">
  9. <head>
  10. <title>选点获取经纬度</title>
  11. <base href="<%=basePath%>">
  12. <script type="text/javascript" src="static/js/jquery-1.7.2.js"></script>
  13. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=40GWXiduhOft266lK4N1dopL"></script>
  14. <style type="text/css">
  15. body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
  16. #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
  17. #r-result{height:100%;width:20%;float:left;}
  18. </style>
  19. <script type="text/javascript">
  20. $(top.hangge());
  21. var dg;
  22. $(document).ready(function(){
  23. dg = frameElement.lhgDG;
  24. });
  25. function success(){
  26. if(dg.curWin.document.forms[0]){
  27. dg.curWin.document.forms[0].action = dg.curWin.location+"";
  28. dg.curWin.document.forms[0].submit();
  29. }else{
  30. dg.curWin.location.reload();
  31. }
  32. dg.cancel();
  33. }
  34. function choose()
  35. {
  36. var ZUOBIAO_X = document.getElementById("ZUOBIAO_X").value;
  37. var ZUOBIAO_Y = document.getElementById("ZUOBIAO_Y").value;
  38. if(ZUOBIAO_X=="" || ZUOBIAO_Y==""){
  39. alert("请先输入经纬度");
  40. }else{
  41. top.Dialog.close();
  42. }
  43. }
  44. </script>
  45. </head>
  46. <body>
  47. <div>
  48. <table bgcolor="#E3E4D8" width="100%">
  49. <tr>
  50. <td>纬度:</td>
  51. <td><input id="ZUOBIAO_X" value="" type="text" /></td>
  52. <td>经度:</td>
  53. <td><input id="ZUOBIAO_Y" value="" type="text" /></td>
  54. <td><input type="button" value="确定" onclick="choose();"/></td>
  55. <td width="100">
  56. <input type="text" id="suggestId" size="20" value="这里输入搜索地址" style="width:150px;" /></div><div id="searchResultPanel" style="border:1px solid #C0C0C0;width:150px;height:auto;">
  57. </td>
  58. </tr>
  59. </table>
  60. </div>
  61. <div id="allmap"></div>
  62. </body>
  63. </html>
  64. <script type="text/javascript">
  65. // 百度地图API功能
  66. /* var map = new BMap.Map("allmap");
  67. map.centerAndZoom(new BMap.Point(117.01341, 36.671592), 11);
  68. map.addControl(new BMap.ScaleControl()); // 添加默认比例尺控件
  69. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT})); // 左上
  70. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_RIGHT})); // 右上
  71. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT})); // 左下
  72. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT})); // 右下
  73. map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
  74. map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_TOP_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL})); //右上角,仅包含平移和缩放按钮
  75. map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT, type: BMAP_NAVIGATION_CONTROL_PAN})); //左下角,仅包含平移按钮
  76. map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, type: BMAP_NAVIGATION_CONTROL_ZOOM})); //右下角,仅包含缩放按钮
  77. map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
  78. map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
  79. function showInfo(e){
  80. document.getElementById("ZUOBIAO_X").value = e.point.lat;
  81. document.getElementById("ZUOBIAO_Y").value = e.point.lng;
  82. }
  83. map.addEventListener("click", showInfo); */
  84. </script>
  85. <script type="text/javascript">
  86. // 百度地图API功能
  87. function G(id) {
  88. return document.getElementById(id);
  89. }
  90. var map = new BMap.Map("allmap");
  91. map.centerAndZoom("北京",12); // 初始化地图,设置城市和地图级别。
  92. var ac = new BMap.Autocomplete( //建立一个自动完成的对象
  93. {"input" : "suggestId"
  94. ,"location" : map
  95. });
  96. ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件
  97. var str = "";
  98. var _value = e.fromitem.value;
  99. var value = "";
  100. if (e.fromitem.index > -1) {
  101. value = _value.province + _value.city + _value.district + _value.street + _value.business;
  102. }
  103. str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
  104. value = "";
  105. if (e.toitem.index > -1) {
  106. _value = e.toitem.value;
  107. value = _value.province + _value.city + _value.district + _value.street + _value.business;
  108. }
  109. str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
  110. //G("searchResultPanel").innerHTML = str;
  111. });
  112. var myValue;
  113. ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
  114. var _value = e.item.value;
  115. myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
  116. //G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
  117. setPlace();
  118. });
  119. function setPlace(){
  120. map.clearOverlays(); //清除地图上所有覆盖物
  121. function myFun(){
  122. var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
  123. map.centerAndZoom(pp, 18);
  124. map.addOverlay(new BMap.Marker(pp)); //添加标注
  125. }
  126. var local = new BMap.LocalSearch(map, { //智能搜索
  127. onSearchComplete: myFun
  128. });
  129. local.search(myValue);
  130. }
  131. map.addControl(new BMap.ScaleControl()); // 添加默认比例尺控件
  132. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT})); // 左上
  133. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_RIGHT})); // 右上
  134. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT})); // 左下
  135. map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT})); // 右下
  136. map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
  137. map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_TOP_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL})); //右上角,仅包含平移和缩放按钮
  138. map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT, type: BMAP_NAVIGATION_CONTROL_PAN})); //左下角,仅包含平移按钮
  139. map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, type: BMAP_NAVIGATION_CONTROL_ZOOM})); //右下角,仅包含缩放按钮
  140. map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
  141. map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
  142. function showInfo(e){
  143. document.getElementById("ZUOBIAO_X").value = e.point.lat;
  144. document.getElementById("ZUOBIAO_Y").value = e.point.lng;
  145. }
  146. map.addEventListener("click", showInfo);
  147. </script>