У меня есть вид карты Google, и я хочу, чтобы она открывала карту, чтобы я мог привязать ее к другому объекту. Проблема в том, что, поскольку я могу только создать экземпляр карты на didInsertElement
(создание его непосредственно не будет работать, так как div еще не обработан), я не могу получить доступ к истинному значению карты (он всегда возвращает нуль ).
Вот мой код:
Places = Ember.Application.create();
Places.MapView = Ember.View.extend({
tagName : 'div',
map : null,
didInsertElement : function() {
this._super();
this.set('map', new google.maps.Map($('#map').get(0), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(-33.8665433,151.1956316),
zoom: 15
}));
this.get('map'); // Returns the value of the map OK
}
});
Places.searchController = Ember.Object.create({
mapBinding: 'Places.MapView.map' // Doesn't work
}
Вот шаблон:
<script type="text/x-handlebars">
{{#view Places.MapView id="map"}}{{/view}}
</script>
Если я установлю любое другое свойство в MapView
напрямую, у меня не возникнет проблем с привязкой к нему. Любые идеи о том, как решить эту проблему?