baiduMap.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //创建和初始化地图函数:
  2. function initMap() {
  3. createMap();//创建地图
  4. setMapEvent();//设置地图事件
  5. addMapControl();//向地图添加控件
  6. addMapOverlay();//向地图添加覆盖物
  7. }
  8. function createMap() {
  9. map = new BMap.Map("map");
  10. map.centerAndZoom(new BMap.Point(116.553302, 40.092723), 18);
  11. }
  12. function setMapEvent() {
  13. map.enableScrollWheelZoom();
  14. map.enableKeyboard();
  15. map.enableDragging();
  16. map.enableDoubleClickZoom()
  17. }
  18. function addClickHandler(target, window) {
  19. target.addEventListener("click", function () {
  20. target.openInfoWindow(window);
  21. });
  22. }
  23. function addMapOverlay() {
  24. var markers = [
  25. {
  26. content: "北京市顺义区MAX企业园<br>4006-988-819",
  27. title: "灰熊软件",
  28. imageOffset: {width: -46, height: -21},
  29. position: {lat: 40.093585, lng: 116.553545}
  30. }
  31. ];
  32. for (var index = 0; index < markers.length; index++) {
  33. var point = new BMap.Point(markers[index].position.lng, markers[index].position.lat);
  34. var marker = new BMap.Marker(point, {
  35. icon: new BMap.Icon("https://api.map.baidu.com/lbsapi/createmap/images/icon.png",
  36. new BMap.Size(20, 25), {
  37. imageOffset: new BMap.Size(markers[index].imageOffset.width, markers[index].imageOffset.height)
  38. })
  39. });
  40. var label = new BMap.Label(markers[index].title, {offset: new BMap.Size(25, 5)});
  41. var opts = {
  42. width: 200,
  43. title: markers[index].title,
  44. enableMessage: false
  45. };
  46. var infoWindow = new BMap.InfoWindow(markers[index].content, opts);
  47. marker.setLabel(label);
  48. addClickHandler(marker, infoWindow);
  49. map.addOverlay(marker);
  50. }
  51. ;
  52. }
  53. //向地图添加控件
  54. function addMapControl() {
  55. var scaleControl = new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT});
  56. scaleControl.setUnit(BMAP_UNIT_IMPERIAL);
  57. map.addControl(scaleControl);
  58. var navControl = new BMap.NavigationControl({anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_LARGE});
  59. map.addControl(navControl);
  60. var overviewControl = new BMap.OverviewMapControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, isOpen: true});
  61. map.addControl(overviewControl);
  62. }
  63. var map;
  64. initMap();