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;
}
}
};