map.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  7. <title>默认点标记</title>
  8. <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
  9. <style>
  10. html, body, #container {
  11. height: 100%;
  12. width: 100%;
  13. }
  14. .amap-icon img,
  15. .amap-marker-content img{
  16. width: 25px;
  17. height: 34px;
  18. }
  19. .marker {
  20. position: absolute;
  21. top: -20px;
  22. right: -118px;
  23. color: #fff;
  24. padding: 4px 10px;
  25. box-shadow: 1px 1px 1px rgba(10, 10, 10, .2);
  26. white-space: nowrap;
  27. font-size: 12px;
  28. font-family: "";
  29. background-color: #25A5F7;
  30. border-radius: 3px;
  31. }
  32. .input-card{
  33. width: 18rem;
  34. z-index: 170;
  35. }
  36. .input-card .btn{
  37. margin-right: .8rem;
  38. }
  39. .input-card .btn:last-child{
  40. margin-right: 0;
  41. }
  42. </style>
  43. </head>
  44. <body>
  45. <div id="container"></div>
  46. <div class="input-card">
  47. <label style="color:grey">点标记操作</label>
  48. <div class="input-item">
  49. <input id="addMarker" type="button" class="btn" onclick="addMarker()" value="添加点标记">
  50. <input id="updateMarker" type="button" class="btn" onclick="updateIcon()" value="更新点标记图标">
  51. </div>
  52. <div class="input-item">
  53. <input id="clearMarker" type="button" class="btn" onclick="clearMarker()" value="删除点标记">
  54. </div>
  55. </div>
  56. <script type="text/javascript"
  57. src="https://webapi.amap.com/maps?v=1.4.15&key=5295cbb966c063bde1ed33c1de7ed6bd"></script>
  58. <script type="text/javascript">
  59. var map,marker
  60. setTimeout(function () {
  61. marker, map = new AMap.Map("container", {
  62. resizeEnable: true,
  63. center: [116.397428, 39.90923],
  64. zoom: 13
  65. });
  66. },1000)
  67. // 实例化点标记
  68. function addMarker() {
  69. marker = new AMap.Marker({
  70. icon: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
  71. position: [116.406315,39.908775],
  72. offset: new AMap.Pixel(-13, -30)
  73. });
  74. marker.setMap(map);
  75. }
  76. function updateIcon() {
  77. marker.setIcon('//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-red.png')
  78. }
  79. function updateContent() {
  80. if (!marker) {
  81. return;
  82. }
  83. // 自定义点标记内容
  84. var markerContent = document.createElement("div");
  85. // 点标记中的图标
  86. var markerImg = document.createElement("img");
  87. markerImg.className = "markerlnglat";
  88. markerImg.src = "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-red.png";
  89. markerContent.appendChild(markerImg);
  90. // 点标记中的文本
  91. var markerSpan = document.createElement("span");
  92. markerSpan.className = 'marker';
  93. markerSpan.innerHTML = "Hi,我被更新啦!";
  94. markerContent.appendChild(markerSpan);
  95. marker.setContent(markerContent); //更新点标记内容
  96. marker.setPosition([116.391467, 39.927761]); //更新点标记位置
  97. }
  98. // 清除 marker
  99. function clearMarker() {
  100. if (marker) {
  101. marker.setMap(null);
  102. marker = null;
  103. }
  104. }
  105. </script>
  106. </body>
  107. </html>