2013-04-08 92 views
1

我有一個谷歌地圖,幷包含一個jQuery淘汰賽結合自定義控件:jQuery的淘汰賽映射

function ViewModel() { 
    this.cities = ko.observableArray(); 
}; 
var viewModel = new ViewModel(); 

// ajax call which populates cities array 

var googleMap = new google.maps.Map(document.getElementById("map"), mapOptions); 

var controlHtml = $("<ul data-bind='foreach: cities'></ul>"); 
googleMap.controls[google.maps.ControlPosition.TOP_RIGHT].push(controlHtml[0]); 

ko.applyBindings(viewModel); 

名單在地圖上添加,但淘汰賽綁定不起作用。如果我在body標籤上添加相同的列表,則該列表被綁定。

是否可以在谷歌地圖內使用jquery knockout自定義控件?

回答

0

添加超時解決了這個問題:

var controlHtml = $("<ul data-bind='foreach: cities'><li data-bind='text: Name'></li></ul>"); 
googleMap.controls[google.maps.ControlPosition.TOP_RIGHT].push(controlHtml[0]); 

setTimeout(function() { 
    ko.applyBindings(viewModel); 
}, 1000);