2017-01-30 36 views
0

Pannellumを使ってパノラマビューアを構築しました。ここでデフォルトの設定にオプションを渡して、そういうビューを生成します。jsonのオブジェクトに動的な値を割り当てます。

var panoOptionDefaults = { 
      type: "equirectangular", 
      haov: imageXRes, 
      vaov :imageYRes, 
      minPitch : 0, 
      maxPitch : 0, 
      minYaw : (imageYRes * 2) * -1, 
      maxYaw : (imageYRes * 2), 
      autoLoad : true, 
      mouseZoom : false, 
      showControls : false, 
      hfov:imageXRes * 2, // Zoom - positive number zooms out/negative number zooms in 
      panorama: $scope.currentProfile.panorama.image, //value in json, returns error 
      hotSpotDebug : false, 
      hotSpots: [ // Dynamic Value 
       { 
        "pitch": -9.0, 
        "yaw": -1.0, 
        "cssClass": "custom-hotspot", 
        "createTooltipFunc": hotspot, 
        "createTooltipArgs": "Radios for Communication" 
       } 
      ] 
      } 

私がしようとしているのは、「panaroma」の価値を私のresponse.dataから得ることです。メソッドを取得します。私は既に属性に基づいてprofile.jsonを返し、ここに個々のデータを持つ各指令に対してこのjson結果を返すgetメソッドを返す動作する角度サービスを作成しました。

  $scope.currentProfile = {};//creates object 
     profiles.getProfile().then(function(response){ 
      $scope.currentProfile = response.data; //returns data and assigns to $scope 
     }); 
+0

あなたはresponse.dataからいくつかの値を取得したいですか? – Sajeetharan

+0

@Sajeetharan、はい私は – Brendan

+0

あなたの質問は明確ではない – Sajeetharan

答えて

0

それはまだ(あなたがpanoOptionsDefaultオブジェクトを使用しているときのように)いくつかの重要な詳細を欠いているのあなたの答え以来、確かに少し難しいですが、私はあなたの問題ではJavaScriptの非同期性によるものであると思われます。

panoramaを割り当てる行のコメントには「エラーを返します」と表示されますが、エラーメッセージは指定しません。 $scope.currentProfileの値がまだ割り当てられていないため、エラーが発生していると思われます。その場合は、panoOptionsDefaultを使用する前に、そのデータを取得するAJAX呼び出しが完了するまで待つ必要があります。

ですから、このような何かを実行する必要があります。

profiles.getProfile().then(function(response){ 
    $scope.currentProfile = response.data; 
    // Now you can use panoOptionsDefault 
    SomeCall(panoOptionsDefault); 
}); 
関連する問題