var ServerInformation = {
OBJECTDATA_SERVER: 'https://ar-uluwatu.000webhostapp.com/api/jsonObject'
// OBJECTDATA_SERVER_ARG_NAME: "nama_objek",
// OBJECTDATA_SERVER_ARG_DESC: "description"
};
var World = {
loaded: false,
drawables: [],
objectData: [],
currentMarker: null,
init: function initFn() {
World.requestDataFromServer();
},
loadObjectsFromJsonData: function loadObjectsFromJsonDataFn(data) {
for (var currentObjectNr = 0; currentObjectNr < data.length; currentObjectNr++) {
var singleObject = {
id: data[currentObjectNr].id,
objectName: data[currentObjectNr].objectName,
objectDesc: data[currentObjectNr].objectDesc,
wto_url: data[currentObjectNr].wto_url,
targetName: data[currentObjectNr].targetName //not use for a while
};
World.objectData.push(singleObject);
}
// World.createLabels()
World.createTracker();
},
// createLabels: function createLabelsFn() {
// for (var i = 0; i < World.objectData.length; i++) {
// // var titleLabel = $('#object-title');
// // var descriptionLabel = $('#object-desc');
// // var titleLabel = new AR.Label(World.objectData[i].objectName, 0.4);
// // var descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 0.3);
// $('#object-title').html(World.objectData[i].objectName)
// // World.allCurrentModels = [];
// // World.allCurrentModels = World.allCurrentModels.concat([titleLabel, descriptionLabel]);
// // World.objectTrackable.drawables.addCamDrawable(World.allCurrentModels);
// }
// },
createTracker: function createTrackerFn() {
this.targetCollectionResource = new AR.TargetCollectionResource(
'http://ar-uluwatu.000webhostapp.com/marker/pura-uluwatu.wto', {
onError: World.onError
}
);
this.tracker = new AR.ObjectTracker(this.targetCollectionResource, {
onError: World.onError
});
for (var i = 0; i < World.objectData.length; i++) {
this.titleLabel = new AR.Label(World.objectData[i].objectName, 0.4, {
translate: {
y: 0.55
}
});
this.descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 0.3, {
translate: {
y: -0.55
}
});
var targetNames = World.objectData[i].objectName
// this.descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 03)
this.objectTrackable = new AR.ObjectTrackable(this.tracker, targetNames, {
drawables: {
cam: [this.titleLabel, this.descriptionLabel],
},
onObjectRecognized: function x(tracker) {
World.hideInfoBar();
$('#object-title').html(tracker);
// $('#object-desc').html(test);
// $('#object-title').html('yoo') //static
$('#popupBasic').popup('open');
World.setAugmentationsEnabled(true);
},
onObjectLost: World.objectLost,
onError: World.onError
});
}
},
requestDataFromServer: function requestDataFromServerFn() {
/* Set helper var to avoid requesting places while loading. */
World.isRequestingData = true;
/* Server-url to JSON content provider. */
var serverUrl = ServerInformation.OBJECTDATA_SERVER;
var jqxhr = $.getJSON(serverUrl, function (data) {
World.loadObjectsFromJsonData(data);
})
.error(function (err) {
World.isRequestingData = false;
})
.complete(function () {
World.isRequestingData = false;
});
},
// objectRecognized: function objectRecognizedFn() {
// World.hideInfoBar();
// // $('#object-title').html('yoo') //static
// $('#popupBasic').popup('open');
// World.setAugmentationsEnabled(true);
// },
objectLost: function objectLostFn() {
$('#popupBasic').popup('close');
World.setAugmentationsEnabled(false);
},
setAugmentationsEnabled: function setAugmentationsEnabledFn(enabled) {
for (var i = 0; i < World.drawables.length; i++) {
World.drawables[i].enabled = enabled;
console
.log(World
.drawables
)
console
.log(World
.drawables
[i
])
}
},
onError: function onErrorFn(error) {
alert(error);
},
hideInfoBar: function hideInfoBarFn() {
document.getElementById('infoBox').style.display = 'none';
},
showInfoBar: function worldLoadedFn() {
document.getElementById('infoBox').style.display = 'table';
document.getElementById('loadingMessage').style.display = 'none';
}
};
World.init();