leaflet二维的使用

初始化地图

initMap = (ele = "map") => {

  reset();

  let center = [39.26483631134033, 110.12098789215088];

  let map = (window.map = L.map(ele, {

    crs: L.CRS.EPSG4326,

    zoomControl: false,

    minZoom: 14,

    zoomSnap: 0.1,

    // bearing: 30,

    // rotate: true,

    // touchRotate: true,

    // rotateControl: {

    //   closeOnZeroBearing: false

    // }

  }).setView(center, 16));

  addAllLayer();

  setCarSize();

  map.on('zoom', () => {

    setCarSize();

    setLineSize();

  });

  return map;

};

画多边形

addRange = (latlngs, color = "#e86d48", fillOpacity = 0.5) => {

  var polygon = L.polygon(latlngs, {

    color: color,

    weight: 2,

    fillColor: color,

    fillOpacity,

  });

  return polygon;

};

画线

addLine = (

  latlngs,

  color = "#ffffff",

  opacity = 1,

  weight = 2,

  dashArray = 2

) => {

  var polyline = L.polyline(latlngs, {

    color,

    weight,

    dashArray,

    opacity,

    lineCap: 'butt',

    lineJoin: 'butt'

  });

  return polyline;

  // zoom the map to the polyline

  //   map.fitBounds(polyline.getBounds())

};

添加icon

addMarker = (id, position, imageType) => {

  let marker = L.marker(position, {

    id,

    icon: L.icon({

      iconUrl: config[imageType],

      iconSize: [carSize, carSize * 2],

      // popupAnchor: [-3, -76],

    }),

  });

  marker.setRotationOrigin("center center");

  return marker;

};

添加标签

addLabel = (id, position, content) => {

  let label = L.marker(position, {

    id,

    icon: L.divIcon({

      className: "div_car_label",

      html: `<div class="car">

        <span>${content}</span>

      </div>`,

    }),

  });

  return label;

};

添加文字

addText = (id, position, content) => {

  let label = L.marker(position, {

    id,

    icon: L.divIcon({

      className: "div_text",

      html: `<div class="" style="width:max-content;font-weight: 500;

      color:#fff;padding: 3px 7px;font-size:12px;">

          ${content}

      </div>`,

    }),

  });

  return label;

};

添加场地文字

addParkText = (id, position, content) => {

  let label = L.marker(position, {

    id,

    icon: L.divIcon({

      className: "div_text",

      html: `<div class="" style="width:max-content;color:#ffffff;font-weight: 500;padding: 3px 7px;font-size:12px;">

          ${content}

      </div>`,

    }),

  });

  return label;

};

添加圆点

addCirclePoint = (position) => {

  let circle = L.circle(position, {

    color: "green",

    opacity: 1,

    fillOpacity: 0.8,

    radius: 1,

  });

  return circle;

};

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值