@@ -658,27 +658,29 @@ export class MapFeature extends HTMLElement {
658658 map . setView ( center , this . getMaxZoom ( ) , { animate : false } ) ;
659659 }
660660 whenReady ( ) {
661- return new Promise ( ( resolve , reject ) => {
662- let interval , failureTimer ;
663- if ( this . _featureGroup ) {
664- resolve ( ) ;
665- } else {
666- let featureElement = this ;
667- interval = setInterval ( testForFeature , 200 , featureElement ) ;
668- failureTimer = setTimeout ( featureNotDefined , 5000 ) ;
669- }
670- function testForFeature ( featureElement ) {
671- if ( featureElement . _featureGroup ) {
661+ return this . _parentEl . whenReady ( ) . then ( ( ) => {
662+ return new Promise ( ( resolve , reject ) => {
663+ let interval , failureTimer ;
664+ if ( this . _featureGroup ) {
665+ resolve ( ) ;
666+ } else {
667+ let featureElement = this ;
668+ interval = setInterval ( testForFeature , 200 , featureElement ) ;
669+ failureTimer = setTimeout ( featureNotDefined , 5000 ) ;
670+ }
671+ function testForFeature ( featureElement ) {
672+ if ( featureElement . _featureGroup ) {
673+ clearInterval ( interval ) ;
674+ clearTimeout ( failureTimer ) ;
675+ resolve ( ) ;
676+ }
677+ }
678+ function featureNotDefined ( ) {
672679 clearInterval ( interval ) ;
673680 clearTimeout ( failureTimer ) ;
674- resolve ( ) ;
681+ reject ( 'Timeout reached waiting for feature to be ready' ) ;
675682 }
676- }
677- function featureNotDefined ( ) {
678- clearInterval ( interval ) ;
679- clearTimeout ( failureTimer ) ;
680- reject ( 'Timeout reached waiting for feature to be ready' ) ;
681- }
683+ } ) ;
682684 } ) ;
683685 }
684686}
0 commit comments