2016-08-24 7 views
0

特定の領域のマンホールを表示するためにArcGIS JavaScript API 4.0を使用しています。フィーチャレイヤを生成するためにGISサービスを使用しています。しかし、そのマンホールのすべての関連写真は、個別に照会する必要があります。私の考えは、ポップアップが開いたときのイベントハンドラを見つけて、それらの写真をデータベースに照会し、リンクをポップアップテンプレートオブジェクトに動的に配置することでした。ここに問題があります:ArcGIS 4.0 JavascriptのAPIイベントでポップアップが表示される

  1. ポップアップが開くときの特定のイベントハンドラはありません。ポップアップで定義されたアクションのみ。
  2. ユーザーがクリックしたマンホールの参照はどのように取得できますか?
  3. ポップアップテンプレートのコンテンツプロパティでメディアを動的に追加するにはどうすればよいですか?ここで

は、ユーザがフィーチャレイヤが追加されたときのために、ポップアップのアクションのためのイベントハンドラがあります

view.on("click", function(evt){ 
        console.log("test pop up handler"); 
       }); 

地図上のクリックしたときのイベントハンドラです。

var manholeTemplate = new PopupTemplate({ 
       title: 'Smoke : {Label}', 
       content: 
       [{ 
        type:"media", 
        mediaInfos: [{ 
         title: "<b> Related Photos </b>", 
         type: "image", 
         value:{ 
           sourceURL: "https://xxxxx.xxxx.getPhoto.php?id=09fsgfsfgE" 
         } 
        }] 
       }] 
      }); 

答えて

2
  1. 「view.popup.visible」プロパティを見てwatching properties機能を使用します。ここで私は、ダイナミックメディアを追加する必要がポップアップテンプレートです。

  2. ポップアップが開いたら、あなたはポップアップがあなたのsourceURL文字列に中括弧内の属性名を使用することができますpopup.features

  3. を使用してを指しているという特徴(複数可)を取得することができますし、APIが自動的になりますクリックされた属性に基づいてURLを取得します。

例のマップは、(ブラウザのコンソールを開き、[機能]をクリックします)ここでは上記の3つの項目を示しています。あなたは素晴らしいですhttps://jsfiddle.net/gavinr/1jLmfLLL/

+0

!!!!ありがとうございます! –

+0

あなたは3を繰り返しますか? popupTemplateの現在のインスタンスにアクセスして、mediaInfosを動的に追加するにはどうすればよいですか?さて、私は3枚の写真を追加したいと思います。 –

関連する問題