وصف المشكلة
عندما أحاول حقن GoogleMapsAPIWrapper في أحد مكوناتي ، يجب أن أقدم الغلاف إما إلى NgModule أو NgComponent الخاص بي. لا يبدو هذا سلوكًا متوقعًا.
إذا كانت هذه خدمة Angular 4 ، فيجب أن تكون قادرًا فقط على استيراد AgmCoreModule وليس عليك استخدام مصفوفة الموفرين في الوحدة النمطية الخاصة بك.
خطوات إعادة إنتاج وعرض بسيط للمشكلة
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
constructor(googleMapsAPIWrapper: GoogleMapsAPIWrapper) { //
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
AgmCoreModule.forRoot()
],
providers: [ ], //wrong
bootstrap: [AppComponent]
})
export class AppModule { }
ما ورد أعلاه يعطي خطأ.
أنت بحاجة للتغيير إلى
providers: [ GoogleMapsAPIWrapper ],
bootstrap: [AppComponent]
السلوك المتوقع / المطلوب
لا يجب عليك تقديم GoogleMapsAPIWrapper
للوحدة النمطية الخاصة بك.
angular2 & angular-google-maps الإصدار
الزاوي: 4.1.3
agm / الأساسية: 1.0.0 بيتا.0
معلومات أخرى
يتم إنشاء GoogleMapsAPIWraper عند إنشاء مثيل خريطة agm. هذا مقصود بالكامل. نحتفظ بمثيل واحد لكل خريطة. إذا كنت ترغب في الحصول على مثيل الخريطة ، فيمكنك إنشاء مكون مخصص وإدخال GoogleMapsAPIWrapper عبر المُنشئ. لذلك أنا أغلق هذا.
SebastianM هل لديك مثال على ما تقوله حيث أود تجربة ذلك؟
يبدو أن SebastianM لا يعمل .. وإلا فقد شيء ما .. هل يمكنك المساعدة ،
لم يتم حل الوعد ، لم يتم تنفيذ السطر رقم 25 في app.component.ts في الريبو أدناه. (لا يوجد خطأ في وحدة التحكم)
https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working
التعليق الأكثر فائدة
يبدو أن SebastianM لا يعمل .. وإلا فقد شيء ما .. هل يمكنك المساعدة ،
لم يتم حل الوعد ، لم يتم تنفيذ السطر رقم 25 في app.component.ts في الريبو أدناه. (لا يوجد خطأ في وحدة التحكم)
https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working