Question

J'ai une vue d'une carte Google et je veux qu'elle exposent la carte afin que je puisse la lier à partir d'un autre objet. Le problème est que puisque je ne peux que instancier la carte sur didInsertElement (L'installer directement ne fonctionnera pas car la div n'a pas encore été rendue) Je ne suis pas en mesure d'accéder à la vraie valeur de la carte (elle renvoie toujours nul).

Voici mon code:

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
}

Voici le modèle:

<script type="text/x-handlebars">
{{#view Places.MapView id="map"}}{{/view}}          
</script>

Si je définis une autre propriété dans MapView Je n'ai directement aucun problème à le lier. Des idées sur la façon de résoudre ce problème?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top