0

状況は次のとおりです。GMapPanelの子であるMapというクラスがあります。JSONを介してMapIncidentsにロードされたデータに基づいて、マップ上にマーカーを配置したいと思います。MapIncidents *内のJSONリクエストは非同期であり、まだ準備ができていないため、 Mapの初期化中にはそれを実行できないことがわかりました。代わりに、インシデント内のMapにリスナーを追加して、データが読み込まれたときに、マップにマーカーを追加するMap内のメソッドを実行するようにしました。さらに複雑にするために、markerclustererというクラスを使用して、ズームアウトしたときにマップにクラスタリングを追加しています。

これで、これらすべてを実行するコードができましたが、奇妙な理由で、二重マーカーが追加されているように見えます。つまり、クラスタリングでは、2つのマーカーが互いに重なり合っていると表示されます。

私が何を間違っているのかわからないので、ここで少し助けていただければ幸いです。コードをいくつかのペーストビンに貼り付けます。

Map.js(表示)-> http://pastebin.com/9xtBYYKt

MapIncidents.js(ストア)-> http://pastebin.com/uJnHkBSm

Incidents.js(コントローラー)-> pastbin.com/tjEc2xT5

GMapPanel.js(わずかに変更)-> pastbin.com/W7LTxV9s

markclusterer.js(google ampsから取得)-> pastbin.com/SiUkLhW2

Incident.js(モデル)

Ext.define('SF.model.Incident', {
    extend: 'Ext.data.Model',
    fields: ['incident', 'lat', 'lng']
});
4

0 に答える 0