60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
![]() |
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||
|
function switchMarkerManager(id) {
|
||
|
|
||
|
markerManager = getMarkerManager(id);
|
||
|
if(isActiveMarkerManager(markerManager)) {
|
||
|
markerManager.addAllToMap();
|
||
|
|
||
|
if(activeMarkerManager) {
|
||
|
activeMarkerManager.removeAllFromMap();
|
||
|
}
|
||
|
|
||
|
/* switch to target marker manager */
|
||
|
activeMarkerManager = markerManager;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function isActiveVisMode(visMode) {
|
||
|
return (currentVisMode == visMode);
|
||
|
}
|
||
|
|
||
|
function getVisModeController(visMode){
|
||
|
return visModeControllers[visMode];
|
||
|
}
|
||
|
|
||
|
function switchVisMode(visMode) {
|
||
|
if (currentVisMode != visMode) {
|
||
|
currentVisMode = visMode;
|
||
|
if (currentController) {
|
||
|
currentController.cleanView();
|
||
|
}
|
||
|
currentController = getVisModeController(visMode);
|
||
|
currentController.initView();
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
function loadMarkers(visMode, url, sync) {
|
||
|
|
||
|
// Download data from server and add to markerManager if not gotten already
|
||
|
var controller = getVisModeController(visMode);
|
||
|
if (controller.needLoaded()) {
|
||
|
if (sync) {
|
||
|
downloader.downloadAndWait(url, function(data) {
|
||
|
loadJSONToMarkerManager(data, visMode);
|
||
|
});
|
||
|
} else {
|
||
|
downloader.download(url, function(data) {
|
||
|
loadJSONToMarkerManager(data, visMode);
|
||
|
});
|
||
|
}
|
||
|
} // end if
|
||
|
}
|
||
|
|
||
|
function loadJSONToMarkerManager(data, visMode) {
|
||
|
if (data) {
|
||
|
var controller = getVisModeController(visMode);
|
||
|
controller.loadJsonData(data[0]);
|
||
|
}
|
||
|
}
|