2017-07-11 7 views
1

関数の外から同じ依存関係を持つ関数を呼び出すにはどうすればよいですか?依存性は、いわゆる機能は、しかし、これは私にそれがその依存関係を持っていないので、FeatureLayerは、定義されていないエラーを与えるFeatureLayerrequirejs同じ依存関係を持つ外部関数を呼び出す

require(
[ 
"esri/map", 
"esri/layers/FeatureLayer", 
"esri/dijit/PopupTemplate", 
"esri/geometry/Point", 
"esri/graphic", 
"dojo/domReady!" 
], 
function(Map, FeatureLayer, PopupTemplate, Point, Graphic){ 
    map = new Map("mapDiv", { basemap: "streets", center: [22, 65], zoom: 5 }); 
    getBasestationList(); 
}; 
}); 

function getBasestationList() { 
    fromdatetime = fromdatetime.toLocaleString(); 
    todatetime = todatetime.toLocaleString(); 
    $.ajax(
    { 
     type: "post", 
     url: "{% url 'get_latest_basestation_list' %}", 
     data: 
     { 
      "csrfmiddlewaretoken": "{{ csrf_token }}", 
      "fromdate": fromdatetime, 
      "todate": todatetime, 
     }, 
     success: function (data, status) 
     { 
      featureLayer = new FeatureLayer(data, { id: 'basestations' }); 
      map.addLayers([featureLayer]); 
     }, 
     error: function (request, status, error) 
     { 
      alert(request.responseText); 
     } 
    }); 
}; 

について知らないようだグローバルではありません。どうすれば外部関数に依存関係を追加し、それを関数から呼び出すことができますか?

答えて

0

FeatureLayerオブジェクトをgetBasestationList(FeatureLayer)のようなメソッドに渡して、それを参照できるかどうかを確認できますか?

グローバル変数を宣言し、FeatureLayerの参照をそれに割り当てることもできます。

コードの問題は、getBasestationList()関数がスコープの外にあるように見えることです。したがって、そのオブジェクトを使用するためにグローバル変数を定義する必要があります。

関連する問題