传单播放位置标记

时间:2017-06-12 00:37:33

标签: leaflet

我正在使用播放插件,我在图像叠加层上使用它。

https://github.com/hallahan/LeafletPlayback

我需要在放置标记之前缩放地板图。使用插件,标记放置在楼层地图之外的某些位置。

我能够解决GPS跟踪的问题,我已经编写了一个函数来缩放地图并将标记放在图层属性的pointToLayer方法中。

我也希望为标记做同样的事情。任何帮助表示赞赏。

const playbackOptions = {

    playControl: true,
    dateControl: true,
    orientIcons: true,
    fadeMarkersWhenStale: true,
      // layer and marker options
    layer: {
      pointToLayer(featureData, latlng) {
        const { lat, lng } = latlng;
        let result = {};

        if (featureData && featureData.properties && featureData.properties.path_options) {
          result = featureData.properties.path_options;
        }

        if (!result.radius) {
          result.radius = 5;
        }

        const scaleX = width / details.width;
        const scaleY = height / details.length;
        const m = {
          x: lat * scaleX,
          y: lng * scaleY,
        };
        const iconCls = 'asset-icon';
        const item = L.marker(self.map.unproject([m.x, m.y], self.map.getMaxZoom()), {
          icon: makeMarker(iconCls, 0),
          opacity: 0.9,
          type: 'asset',
          lat,
          lng,
        });
        item.bindTooltip(`<p>${lat}, ${lng}`, { className: 'asset-label', offset: [0, 0] });

        return item;
      }
    },

    marker: {
      getPopup(featureData) {
        let result = '';

        if (featureData && featureData.properties && featureData.properties.title) {
          result = featureData.properties.title;
        }

        return result;
      }
    }

  };

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您检索实际的GPS坐标,实际上可能更容易实现反向,即地理配准您的图像叠加一次,而不是试图摆弄每个的地理坐标。您尝试相对于图像显示的功能。