高德地图自定义marker点 房源地图汇聚点 自定义聚合点 自定义弹窗

amap.gif



停车场

自定义弹窗

在高德地图中有个汇聚点的api但是那个不确定性太高,各个点的位置不确定。所以在使用时直接被弃用,转而使用marker去自定义各个层级的各个点位。

理解

工程中我们将省、市、区、停车场。大体分为四种UI样式。通过监听地图的层级变化,去改变不同zoom下显示的对应UI效果。

注意点

一、每种样式在自己zoom层级内只创建一次,因为如果不这样处理那么每次zoom改变都会去创建新的marker这样会导致页面卡顿崩溃。核心思维代码如下👇

        // 监听地图层级变化
        AMap.event.addListener(that.map, "zoomend", function () {
          var zoom = that.map.getZoom();
          zoomgetMarker(zoom);
        });
        // 根据层级不同去创建对应的marker。
        function zoomgetMarker(zoom) {
          if (zoom <= 7) {
            if (that.currentLevel !== 1) {
              that.currentLevel = 1;
              ....// 加载省的marker
            }
          } else if (zoom < 10) {
            if (that.currentLevel !== 2) {
              that.currentLevel = 2;
              ....// 加载市的marker
            }
          } else if (zoom < 12) {
            if (that.currentLevel !== 3) {
              that.currentLevel = 3;
              district.setLevel("district");
              ....// 加载区的marker
            }
          } else {
            if (that.currentLevel !== 4) {
              that.currentLevel = 4;
              ....// 加载停车场的marker
            }
          }
        }

二、在加载省、市、区、停车场四种不同的marker时需要将之前的marker销毁掉然后重新创建

      const that = this;
      that.map.remove(that.markers);// 先销毁掉之前的所有marker
      list.map((data) => {
        // 海量生成marker点
        var marker = new AMap.Marker({
          position: new AMap.LngLat(data.lng, data.lat),
          content: `自定义内容`,
          map: map,
        });
        that.markers.push(marker);// 每创建一个marker就添加到markers列表中。
      }

三、如何创建自定义Marker,以及在Marker中使用静态图片和Marker的点击事件

      // 1.html 以字符串的方式传给content就可以自定义Marker
      // 2.使用require('xxxx本地图片地址')获取本地图片
      var marker = new AMap.Marker({
        position: [lng,lat],
        content: `
        <div class="markercustomize2" style="display: flex;align-items: center;color: #ffffff;border-radius: 5px;padding:0 3px">
          <img style="width:25px;height:25px;object-fit: contain;"  src="${require("../assets/parking_map_logo.png")}"></img>
          <span style="font-size: 16px;white-space: nowrap;display: inline-block;line-height: 16px;height: 16px;">
            ${"芯城科技园停车场"}
          </span>
        </div>`,
        map: this.map,
      });
     
      // 3.监听marker的点击事件
      AMap.event.addListener(marker, "click", function (e) {
         // 处理点击事件
      });

四、如何动态改变Marker的class样式。

最好是不要用全局的样式去修改,因为那样会影响到全部。最好使用/deep/去局部修改marker的样式,这样可以最终达到好的结果。

  /deep/.amap-maps {
    .amap-drags {
      .amap-layers {
        .amap-markers {
          .amap-marker {
            z-index: 1 !important;
            .amap-marker-content {
              .markercustomize2 {
                background: #1567ff;
              }
            }
          }
          .amap-marker:hover {
            z-index: 9999 !important;
            .amap-marker-content {
              .markercustomize2 {
                background-color: #45afff;
              }
            }
          }
        }
      }
    }
  }

项目地址

在下载依赖包时请使用yarn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容