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