2017-06-12 38 views
0

我正在使用播放插件,并在图像叠加层上使用它。单张播放位置标记

https://github.com/hallahan/LeafletPlayback

我需要放置标志之前缩放平面地图。使用插件将标记放置在地图之外的某个地方。

我能够解决GPS跟踪问题,我已经写了一个函数来缩放地图并将标记放置在layer属性的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

回答

0

如果您获得实际的GPS坐标,它很可能是,而不是试图与地理拨弄容易真正做相反,即地理参考您的影像重叠一次为好,您尝试相对于图像显示的每个功能的坐标。