mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-14 15:07:33 +08:00
148 lines
4.7 KiB
JavaScript
148 lines
4.7 KiB
JavaScript
import mapConstants from '@/consts/map.js';
|
|
import {
|
|
getMapProvider
|
|
} from '@/lib/server_settings.js';
|
|
|
|
import {
|
|
loadLeafletMapAssets,
|
|
createLeafletMapHolder,
|
|
createLeafletMapInstance,
|
|
setLeafletMapCenterTo,
|
|
setLeafletMapCenterMaker,
|
|
removeLeafletMapCenterMaker
|
|
} from './leaflet.js';
|
|
|
|
import {
|
|
getGoogleMapWebsite,
|
|
loadGoogleMapAssets,
|
|
createGoogleMapHolder,
|
|
createGoogleMapInstance,
|
|
setGoogleMapCenterTo,
|
|
setGoogleMapCenterMaker,
|
|
removeGoogleMapCenterMaker
|
|
} from './googlemap.js';
|
|
|
|
import {
|
|
getBaiduMapWebsite,
|
|
loadBaiduMapAssets,
|
|
createBaiduMapHolder,
|
|
createBaiduMapInstance,
|
|
setBaiduMapCenterTo,
|
|
setBaiduMapCenterMaker,
|
|
removeBaiduMapCenterMaker
|
|
} from './baidumap.js';
|
|
|
|
import {
|
|
getAmapWebsite,
|
|
loadAmapAssets,
|
|
createAmapHolder,
|
|
createAmapInstance,
|
|
setAmapCenterTo,
|
|
setAmapCenterMaker,
|
|
removeAmapCenterMaker
|
|
} from './amap.js';
|
|
|
|
export function getMapWebsite() {
|
|
if (getMapProvider() === 'custom') {
|
|
return '';
|
|
} else if (mapConstants.leafletTileSources[getMapProvider()]) {
|
|
return mapConstants.leafletTileSources[getMapProvider()].website;
|
|
} else if (getMapProvider() === 'googlemap') {
|
|
return getGoogleMapWebsite();
|
|
} else if (getMapProvider() === 'baidumap') {
|
|
return getBaiduMapWebsite();
|
|
} else if (getMapProvider() === 'amap') {
|
|
return getAmapWebsite();
|
|
}
|
|
}
|
|
|
|
export function loadMapAssets(language) {
|
|
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
|
|
return loadLeafletMapAssets(language);
|
|
} else if (getMapProvider() === 'googlemap') {
|
|
return loadGoogleMapAssets(language);
|
|
} else if (getMapProvider() === 'baidumap') {
|
|
return loadBaiduMapAssets(language);
|
|
} else if (getMapProvider() === 'amap') {
|
|
return loadAmapAssets(language);
|
|
}
|
|
}
|
|
|
|
export function createMapHolder() {
|
|
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
|
|
return createLeafletMapHolder(getMapProvider());
|
|
} else if (getMapProvider() === 'googlemap') {
|
|
return createGoogleMapHolder(getMapProvider());
|
|
} else if (getMapProvider() === 'baidumap') {
|
|
return createBaiduMapHolder(getMapProvider());
|
|
} else if (getMapProvider() === 'amap') {
|
|
return createAmapHolder(getMapProvider());
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
export function initMapInstance(mapHolder, mapContainer, options) {
|
|
if (!mapHolder) {
|
|
return;
|
|
}
|
|
|
|
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
|
|
createLeafletMapInstance(mapHolder, mapContainer, options);
|
|
} else if (mapHolder.mapProvider === 'googlemap') {
|
|
createGoogleMapInstance(mapHolder, mapContainer, options);
|
|
} else if (mapHolder.mapProvider === 'baidumap') {
|
|
createBaiduMapInstance(mapHolder, mapContainer, options);
|
|
} else if (mapHolder.mapProvider === 'amap') {
|
|
createAmapInstance(mapHolder, mapContainer, options);
|
|
}
|
|
}
|
|
|
|
export function setMapCenterTo(mapHolder, center, zoomLevel) {
|
|
if (!mapHolder) {
|
|
return;
|
|
}
|
|
|
|
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
|
|
setLeafletMapCenterTo(mapHolder, center, zoomLevel);
|
|
} else if (mapHolder.mapProvider === 'googlemap') {
|
|
setGoogleMapCenterTo(mapHolder, center, zoomLevel);
|
|
} else if (mapHolder.mapProvider === 'baidumap') {
|
|
setBaiduMapCenterTo(mapHolder, center, zoomLevel);
|
|
} else if (mapHolder.mapProvider === 'amap') {
|
|
setAmapCenterTo(mapHolder, center, zoomLevel);
|
|
}
|
|
}
|
|
|
|
export function setMapCenterMarker(mapHolder, position) {
|
|
if (!mapHolder) {
|
|
return;
|
|
}
|
|
|
|
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
|
|
setLeafletMapCenterMaker(mapHolder, position);
|
|
} else if (mapHolder.mapProvider === 'googlemap') {
|
|
setGoogleMapCenterMaker(mapHolder, position);
|
|
} else if (mapHolder.mapProvider === 'baidumap') {
|
|
setBaiduMapCenterMaker(mapHolder, position);
|
|
} else if (mapHolder.mapProvider === 'amap') {
|
|
setAmapCenterMaker(mapHolder, position);
|
|
}
|
|
}
|
|
|
|
export function removeMapCenterMarker(mapHolder) {
|
|
if (!mapHolder) {
|
|
return;
|
|
}
|
|
|
|
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
|
|
removeLeafletMapCenterMaker(mapHolder);
|
|
} else if (mapHolder.mapProvider === 'googlemap') {
|
|
removeGoogleMapCenterMaker(mapHolder);
|
|
} else if (mapHolder.mapProvider === 'baidumap') {
|
|
removeBaiduMapCenterMaker(mapHolder);
|
|
} else if (mapHolder.mapProvider === 'amap') {
|
|
removeAmapCenterMaker(mapHolder);
|
|
}
|
|
}
|