私は、情報を表示したいアイテムをユーザーがクリックすると、Googleマップミニマップの横にデータを表示する必要があるプロジェクトに取り組んでいます。ハンドルバーを使って複数のGoogleマップエリアをdivに追加する方法
基本的には次のように動作します。彼は情報に関する
- ユーザーがクリック:
- 情報 からの情報がある場所を示す
- Googleマップのインスタンス
何とか私はJS + jQuery + Handlebarsの組み合わせを動作させることができません。私はHandlebarsテンプレートでJavaScriptコードを実行するヘルパーを作成する必要があることを理解していますが、HBテンプレートのテーブル内にGoogle Mapsインスタンスを追加しても機能しません。
ここに私が現時点で取り組んでいるコードがあります。助けてくれてありがとう!
テンプレートファイル:JavaScriptのコード
<script id="entry-template" type="text/x-handlebars-template">
<section class="Info" id={{id}}>
<header class="InfoHeader small" onclick="collapseInfobox(this)">
<p class=""></p>
</header>
<article class="hidden">
<table class="Analyses" border="1">
<tr>
<td class="minimap"><div id="minimap_1_{{id}}" class="minimap">{{miniMap_1 context}}</div></td>
<td class="graph"><div>{{ graph_1 }}</div></td>
</tr>
</table>
</article>
</section>
</script>
<script type="text/javascript">
var HTMLsource = $("#entry-template").html();
var HTMLtemplate = Handlebars.compile(HTMLsource);
</script>
:
function addInfo(id, start, end) {
var context = {
id: id,
};
Handlebars.registerHelper('miniMap_1', function(data) {
var minimapOptions = {
disableDefaultUI: true,
center: new google.maps.LatLng(_Coords.lat, _Coords.lon),
zoom: 13,
};
var minimap1 = new google.maps.Map(document.getElementById(this), minimapOptions);
});
// contentArea is a div section in the page to which the info div should be appended
$("#contentArea").append(HTMLtemplate(context));
}