Facebook
From Rude Bird, 3 Years ago, written in PHP.
Embed
Download Paste or View Raw
Hits: 142
  1. var ServerInformation = {
  2.         OBJECTDATA_SERVER: 'https://ar-uluwatu.000webhostapp.com/api/jsonObject'
  3.  
  4.         // OBJECTDATA_SERVER_ARG_NAME: "nama_objek",
  5.         // OBJECTDATA_SERVER_ARG_DESC: "description"
  6. };
  7.  
  8. var World = {
  9.         loaded: false,
  10.         drawables: [],
  11.         objectData: [],
  12.         currentMarker: null,
  13.  
  14.         init: function initFn() {
  15.                 World.requestDataFromServer();
  16.         },
  17.  
  18.         loadObjectsFromJsonData: function loadObjectsFromJsonDataFn(data) {
  19.                 for (var currentObjectNr = 0; currentObjectNr < data.length; currentObjectNr++) {
  20.                         var singleObject = {
  21.                                 id: data[currentObjectNr].id,
  22.                                 objectName: data[currentObjectNr].objectName,
  23.                                 objectDesc: data[currentObjectNr].objectDesc,
  24.                                 wto_url: data[currentObjectNr].wto_url,
  25.                                 targetName: data[currentObjectNr].targetName //not use for a while
  26.                         };
  27.  
  28.                         World.objectData.push(singleObject);
  29.                 }
  30.  
  31.                 // World.createLabels()
  32.  
  33.                 World.createTracker();
  34.         },
  35.  
  36.         // createLabels: function createLabelsFn() {
  37.  
  38.         //     for (var i = 0; i < World.objectData.length; i++) {
  39.  
  40.         //         // var titleLabel = $('#object-title');
  41.         //         // var descriptionLabel = $('#object-desc');
  42.         //         // var titleLabel = new AR.Label(World.objectData[i].objectName, 0.4);
  43.         //         // var descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 0.3);
  44.  
  45.         //         $('#object-title').html(World.objectData[i].objectName)
  46.  
  47.         //         // World.allCurrentModels = [];
  48.         //         // World.allCurrentModels = World.allCurrentModels.concat([titleLabel, descriptionLabel]);
  49.         //         // World.objectTrackable.drawables.addCamDrawable(World.allCurrentModels);
  50.  
  51.         //     }
  52.  
  53.         // },
  54.  
  55.         createTracker: function createTrackerFn() {
  56.                 this.targetCollectionResource = new AR.TargetCollectionResource(
  57.                         'http://ar-uluwatu.000webhostapp.com/marker/pura-uluwatu.wto', {
  58.                                 onError: World.onError
  59.                         }
  60.                 );
  61.  
  62.                 this.tracker = new AR.ObjectTracker(this.targetCollectionResource, {
  63.                         onError: World.onError
  64.                 });
  65.                 for (var i = 0; i < World.objectData.length; i++) {
  66.  
  67.                         this.titleLabel = new AR.Label(World.objectData[i].objectName, 0.4, {
  68.                                 translate: {
  69.                                         y: 0.55
  70.                                 }
  71.                         });
  72.  
  73.                         this.descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 0.3, {
  74.                                 translate: {
  75.                                         y: -0.55
  76.                                 }
  77.                         });
  78.  
  79.                         var targetNames = World.objectData[i].objectName
  80.  
  81.                         // this.descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 03)
  82.                         this.objectTrackable = new AR.ObjectTrackable(this.tracker, targetNames, {
  83.  
  84.                                 drawables: {
  85.                                         cam: [this.titleLabel, this.descriptionLabel],
  86.  
  87.  
  88.                                 },
  89.  
  90.                                 onObjectRecognized: function x(tracker) {
  91.  
  92.                                         World.hideInfoBar();
  93.                                         $('#object-title').html(tracker);
  94.  
  95.                                         // $('#object-desc').html(test);
  96.                                         // $('#object-title').html('yoo') //static
  97.                                         $('#popupBasic').popup('open');
  98.                                         World.setAugmentationsEnabled(true);
  99.  
  100.                                 },
  101.                                 onObjectLost: World.objectLost,
  102.                                 onError: World.onError
  103.                         });
  104.                 }
  105.         },
  106.  
  107.         requestDataFromServer: function requestDataFromServerFn() {
  108.                 /* Set helper var to avoid requesting places while loading. */
  109.                 World.isRequestingData = true;
  110.  
  111.                 /* Server-url to JSON content provider. */
  112.                 var serverUrl = ServerInformation.OBJECTDATA_SERVER;
  113.  
  114.                 var jqxhr = $.getJSON(serverUrl, function (data) {
  115.                                 World.loadObjectsFromJsonData(data);
  116.                         })
  117.                         .error(function (err) {
  118.                                 World.isRequestingData = false;
  119.                         })
  120.                         .complete(function () {
  121.                                 World.isRequestingData = false;
  122.                         });
  123.         },
  124.  
  125.         // objectRecognized: function objectRecognizedFn() {
  126.         //      World.hideInfoBar();
  127.  
  128.         //      // $('#object-title').html('yoo') //static
  129.         //      $('#popupBasic').popup('open');
  130.         //      World.setAugmentationsEnabled(true);
  131.         // },
  132.  
  133.         objectLost: function objectLostFn() {
  134.                 $('#popupBasic').popup('close');
  135.                 World.setAugmentationsEnabled(false);
  136.         },
  137.  
  138.         setAugmentationsEnabled: function setAugmentationsEnabledFn(enabled) {
  139.                 for (var i = 0; i < World.drawables.length; i++) {
  140.                         World.drawables[i].enabled = enabled;
  141.                         console.log(World.drawables)
  142.                         console.log(World.drawables[i])
  143.                 }
  144.         },
  145.  
  146.         onError: function onErrorFn(error) {
  147.                 alert(error);
  148.         },
  149.  
  150.         hideInfoBar: function hideInfoBarFn() {
  151.                 document.getElementById('infoBox').style.display = 'none';
  152.         },
  153.  
  154.         showInfoBar: function worldLoadedFn() {
  155.                 document.getElementById('infoBox').style.display = 'table';
  156.                 document.getElementById('loadingMessage').style.display = 'none';
  157.         }
  158. };
  159.  
  160. World.init();