baidu.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. var browser=navigator.appName;
  2. var b_version=navigator.appVersion;
  3. var trim_Version=b_version.replace(/[ ]/g,"");
  4. var msie6 = browser == "Microsoft Internet Explorer" && trim_Version.indexOf('MSIE6.0')>0;
  5. var map = new BMap.Map( map_id );
  6. var local = null;
  7. map.addControl(new BMap.NavigationControl());
  8. //map.enableScrollWheelZoom();
  9. if(p1 != '' && p2 != '') {
  10. var point = new BMap.Point(p1, p2);
  11. map.centerAndZoom(point, 15);
  12. var marker = new BMap.Marker(point); // 创建标注
  13. map.addOverlay(marker); // 将标注添加到地图中
  14. marker.enableDragging();
  15. marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
  16. } else {
  17. map.centerAndZoom(new BMap.Point(), view_level);
  18. var myCity = new BMap.LocalCity();
  19. myCity.get(myFun);
  20. }
  21. function myFun(result){
  22. var cityName = result.name;
  23. map.setCenter(cityName);
  24. }
  25. function markmap() {
  26. map.clearOverlays();
  27. map.addEventListener("click", showInfo);
  28. }
  29. function showInfo(e){
  30. //alert("您标注的坐标为:" + e.point.lng + "," + e.point.lat + "\r\n\r\n请点击确定按钮完成标注操作!");
  31. document.getElementById('point1').value = e.point.lng;
  32. document.getElementById('point2').value = e.point.lat;
  33. var point = new BMap.Point(e.point.lng, e.point.lat);
  34. //map.centerAndZoom(point, 15);
  35. var marker = new BMap.Marker(point);
  36. marker.enableDragging();
  37. map.addOverlay(marker);
  38. }
  39. function create_search_ui () {
  40. //搜索服务
  41. local = new BMap.LocalSearch(map, {
  42. renderOptions:{map: map}
  43. });
  44. local.setInfoHtmlSetCallback(open_info);
  45. local.setSearchCompleteCallback(search_result);
  46. local.disableFirstResultSelection();
  47. local.enableAutoViewport();
  48. //搜索框
  49. var _abc= document.createElement('div');
  50. var p = document.getElementById(map_id);
  51. _abc.style.fontSize = '12px';
  52. _abc.style.padding = '2px 5px';
  53. document.body.appendChild(_abc);
  54. _abc.innerHTML = '请输入地点:<input type="text" id="k"> <input type="button" value="搜索" onclick="local_search();">';
  55. if(msie6) {
  56. p.style.height = p.offsetHeight - 40;
  57. _abc.style.left = '60px';
  58. _abc.style.width = "280px";
  59. _abc.style.margin = "0 auto";
  60. } else {
  61. _abc.style.position = 'absolute';
  62. _abc.style.backgroundColor = '#FFF';
  63. _abc.style.border ='1px solid #ccc';
  64. var top = p.offsetHeight-_abc.offsetHeight-5;
  65. var left = Math.round(p.offsetWidth/2-_abc.offsetWidth/2);
  66. _abc.style.top = '3px';
  67. _abc.style.left = left + 'px';
  68. _abc.style.zIndex = 999;
  69. }
  70. }
  71. function local_search(name) {
  72. var k = document.getElementById('k');
  73. if(k.value=='') return;
  74. local.clearResults();
  75. local.search(k.value);
  76. }
  77. function search_result(results) {
  78. if(results.getNumPois()==0) {
  79. alert('没找到符合的地点坐标。');
  80. }
  81. }
  82. function open_info (poi,html) {
  83. var content = '<input type="button" value="设置这里为标注点" onclick="set_location(this,'+poi.marker.getPoint().lng+','+poi.marker.getPoint().lat+');">';
  84. html.innerHTML = content;
  85. }
  86. function set_location(obj,lng,lat) {
  87. document.getElementById('point1').value = lng;
  88. document.getElementById('point2').value = lat;
  89. alert('标注点已设置,请按“确定”按钮关闭对话框。');
  90. var p = obj.parentNode;
  91. p.removeChild(obj);
  92. var info = document.createElement('div');
  93. info.innerHTML = '<span style="color:#808080;">已设置为这个坐标点</span>';
  94. p.appendChild(info);
  95. }