فجأة أواجه المشكلة التالية.
لم يتم العثور على الوحدة النمطية: خطأ: لا يمكن حل "@ agm / core / services / google-maps-types"
Package.json
"@ agm / core": "^ 1.0.0"،
"@ agm / js-marker-Clusterer": "^ 1.0.0"
نفس الشيء هنا
يمكنك حذف node_modules وإعادة تشغيل npm install
@ doom777 لقد فعلت عدة مرات. لا حظ.
عينة رمز مقتطف أدناه ،
import { ZoomControlOptions, ControlPosition, MapTypeControlOptions, FullscreenControlOptions } from '@agm/core/services/google-maps-types';
mapTypeControlOptions:MapTypeControlOptions = {
position: ControlPosition.LEFT_BOTTOM
}
fullscreenControlOptions: FullscreenControlOptions = {
position : ControlPosition.LEFT_CENTER
};
حسنًا ، يواجه موقع stackblitz مشاكله الخاصة في الوقت الحالي. أنا لا أنجح في الإنجاب.
هذا ما أحاول:
ng new agm-test2
cd agm-test2
npm install @agm/core
code .
أضف AgmCoreModule.forRoot إلى AppModule
النموذج: <agm-map [mapTypeControl]="true" [mapTypeControlOptions]="mapTypeControlOptions" [latitude]="0" [longitude]="0"></agm-map>
عنصر:
import { Component } from '@angular/core';
import { MapTypeControlOptions, ControlPosition } from '@agm/core/services/google-maps-types';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styles: ['agm-map{height:300px}']
})
export class AppComponent {
mapTypeControlOptions: MapTypeControlOptions = {
position: ControlPosition.LEFT_BOTTOM
};
}
نتيجة:
@ doom777 هذا مثال على أنه لا يعمل: https://stackblitz.com/edit/angular-krqwfi؟file=src٪2Fapp٪2Fapp.module.ts
كل ما فعلته هو إضافة @agm/core
ومحاولة استيراد خدمة FitBoundsService
أنا فقط أحضر
خطأ غير معلوم (في الوعد): الإعداد المسبق لم يتم فصله في التكوين في
Object.config (webcontainer.5f16b010d2745c788a2.js: 15)
في t.config (webcontainer.5f16b010d2745c788a2.js: 15)
في Be (معاينة 4858aaa60d96ac0657bab.js: 1)
في المعاينة 4858aaa60d96ac06
57bab.js: 1
يبدو أن هذا خطأ في stackblitz
هل يمكنك تجربة شيء ما؟
packages\core\map-types.ts
ControlPosition
إلى قائمة الصادراتyarn build
npm link
(دروس google إذا لم تستخدم رابط npm من قبل)يرجى تجربة العلاقات العامة الخاصة بي https://github.com/SebastianM/angular-google-maps/pull/1730 وإخبارنا إذا كان ذلك يعمل على حل المشكلة.
سيتعين عليك تغيير استيراد ControlPosition والآخرين إلى "@ agm / core"
@ doom777 لقد قمت باستنساخ وبناء واختبار # 1730. إنها تعمل كما هو متوقع.
@ doom777 يبدو أن هذا يرجع إلى كيفية حزم ng-packager للأشياء.
بدلاً من جعل الأشخاص يقومون بتحديث وارداتهم مرة واحدة لهذا ثم بالنسبة لـ # 1648 ، هل يجب أن نركز فقط على الحصول على # 1648 الذي سيتعامل مع أي عمليات استيراد لخرائط Google؟ (قد يكون التغيير الخاص بك لـ # 1730 مطلوبًا للتوجيهات / الخدمات التي لم يتم استيرادها عبر @ agm / core وبدلاً من ذلك يتم استيرادها من @agm/core/{directives,services}
فقط للتوضيح ، كان ng-packagr تغييرًا محتملاً فيما يتعلق بسطح واجهة برمجة التطبيقات حيث يكسر # 1648 نفس السطح (استيراد أنواع خرائط Google)
لقد أضفت # 1731 وهو تغيير ng-packagr لهذه الوحدة ، لكنه لا يعالج الواردات من @agm/core/*
التي ليست @agm/core/services/google-maps-types
(بما في ذلك @agm/core/services
أو @agm/core/directives
)
يظهر لي هذا الخطأ عندما أحاول استيراد {google} من @ agm / core / services / google-maps-types. لقد حاولت أيضًا حذف node_modules وإعادة تشغيل تثبيت npm عدة مرات. الرجاء مساعدتي لإيجاد حل.
pasqualepalmaccio إذا كان إنتاجًا ، فارجع إلى الإصدار 1.0.0-beta.7. خلاف ذلك ، انتظر حتى نحرر الإصلاح.
بعد التحديث لدي نفس المشكلة. هل هناك بعض الحل؟
jimmykane ، يجب أن تتأكد من أن package.json الخاص بك يحدد "@agm/core: "1.0.0-beta.7"
وليس @agm/core: "^1.0.0-beta.7"
لأن هذا يعني أن لديك إصدار 1.0.0
الذي لا يعرض نفس الواجهة.
نحن نعمل على إصلاح هذا ، ولكن هناك واردات أخرى نحتاج إلى معالجتها.
لدينا إصلاح ، فقط مشكلة مؤقتة بدمجه
ما زلت أرى هذه المشكلة ، هل تم دمج هذا الإصلاح؟
لا ، لا يمكنني العثور على مساهم آخر للموافقة على العلاقات العامة الخاصة بي :(
هل تم دمج هذا الإصلاح؟
ربما يسحب الإصدار 1.0.0 طالما كنت تعمل على الإصلاح؟
لديك نفس المشكلة عند محاولة الاستيراد:
استيراد {ZoomControlOptions، ControlPosition، ZoomControlStyle} من "@ agm / core / services / google-maps-types" ؛
فقط قم بالتسجيل ليصلك إشعار بالإصلاح. سوف تستخدم القيم السحرية المشفرة في الوقت الحالي
يمكنك استخدام 1.0.0-beta.7 في الوقت الحالي.
الإصدار 1.0.1 قريبًا ، أحاول الاتصال بسيباستيان هولشتاين ، لكن لم يحالفني الحظ
مرحبا SebastianM واكي واكي .... من فضلك هيا دعونا نتعثر هذا
1.0.0-beta.7 يخترق IVY لذا حاليًا نحن محظورون من استخدام هذه الحزمة.
BumpSebastianM يرجى الحفاظ على هذا الريبو هيا. دمج وتحرير.
بالنسبة لأعمال شخص واحد ، فإننا جميعًا نكافح هنا.
ربما يجب علينا فقط تفرعها؟ من الواضح أن شركته تنوي استخدام هذه الحزمة.
أو: https://drewdevault.com/2018/12/04/How-to-abandon-a-FLOSS-project.html
أو حتى: https://www.codeshelter.co/
ربما يستطيع سيباستيان فقط إضافة الامتيازات الصحيحة إلى المتعاونين هنا
و voila حل المشكلة.
في يوم السبت ، 2 نوفمبر 2019 ، الساعة 12:37 مساءً ، كتب Lukas Neumann ، [email protected] :
ربما يجب علينا فقط تفرعها؟ من الواضح أن شركته تنوي استخدام ملفات
هذه الحزمة.أو: https://drewdevault.com/2018/12/04/How-to-abandon-a-FLOSS-project.html
أو حتى: https://www.codeshelter.co/-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/SebastianM/angular-google-maps/issues/1729؟email_source=notifications&email_token=AAJVX45GD4L46U7JGGD7FMDQRVQ7FA5CNFSM4IYS2YRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC4Z6DY#issuecomment-549035791 ،
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/AAJVX45ENBM22GNL6UEF26TQRVQ7FANCNFSM4IYS2YRA
.
تلقيت
Module not found: Error: Can't resolve '@agm/core/services'
بالرغم من تثبيته !!
@ agm / الأساسية: 1.0.0-beta.3
هل يمكنك محاولة الترقية إلى الإصدار 1.0.0-beta.7؟
كيف أقوم بترقيته؟ -> تثبيت npm "agm / core 1.0.0-beta.7"؟
حسنًا ، npm install @agm/[email protected]
أو npm update @agm/core
حل دون تحديث. حاولت
import { GoogleMapsAPIWrapper } from '@agm/core';
وهي تعمل بنجاح.
نعم. أيضًا ، ربما لا يجب عليك استخدام GOogleMapsAPIWrapper
لماذا يمكنك أن تشرح من فضلك؟ هههههههههههههه
لماذا يمكنك أن تشرح من فضلك؟ هههههههههههههه
أعتقد أن GoolgeMapsAPIWrapper مخصص للاستخدام داخليًا للمكتبة ، وليس بالنسبة لنا كمستهلكين لها. يجب أن تستخدم ارتباطات الإدخال والحدث للمكون الرئيسي. في الوحدة النمطية الخاصة بك ، تقوم باستيراد AgmCoreModule ، ومن أجل Root في قسم الواردات.
إذا كنت ترغب في الوصول المباشر إلى واجهة برمجة تطبيقات خرائط Google ، يمكنك الحصول على الخريطة من (mapReady) على المكون ، مثل:
<agm-map [streetViewControl]="false" [latitude]="lat" [longitude]="lng" [styles]="mapStyles"
[zoom]="defaultZoom" [zoomControlOptions]="zoomControlOptions" (mapReady)="mapReady($event)"
(zoomChange)="zoomChanged($event)">
</agm-map>
في كود المكون:
mapReady(map: google.maps.Map) {
this.map = map;
}
ويمكنك الكتابة لخريطتك عن طريق تثبيت @ types / googlemaps
تضمين التغريدة
GoogleMapsApiWrapper مخصص داخليًا للمكتبة أو للإضافات. إنه أمر حتمي ، وهو مخالف للأسلوب التصريحي لـ Angular. معظم الأشياء التي ستفعلها باستخدام GMAW يجب أن تكون قادرًا على القيام بها باستخدام المدخلات والمخرجات على خريطة agm وأطفالها.
ermcgrat يمكنك أيضًا الحصول على معظم الأنواع من "@ agm / core" ، على الأقل حتى يتم دمج # 1648
شكرا يا رفاق .. شكرا جزيلا 😍😍😍😍😍
مرحبا لماذا تم إغلاق هذه القضية؟
1.1.0 لا يصلحها
حسنًا ، يسمح لك الإصدار jimmykane @ 1.1.0 بما يلي:
import { ControlPosition } from '@agm/core'
أهلا بكم،
1.1.0 لا يصلح لي سواء. لا يزال لدي هذا:
Module '"../../../../node_modules/@agm/core/agm-core"' has no exported member 'MapTypeControlStyle'
على الرغم من أنه تم تصديره:
لقد حاولت بالفعل حذف node_modules و package-lock ، لكن لم أفعل شيئًا أفضل على الرغم من ...
ما زلت أتلقى هذا الخطأ أيضًا.
Module not found: Error: Can't resolve '@agm/core/services/google-maps-types'
أحاول الوصول على سبيل المثال google.maps.geometry.spherical.computeArea()
. يمكنني تحقيق ذلك عن طريق تثبيت @types/googlemaps
ثم import {} from 'googlemaps';
لكن هذا يبدو نوعًا من الاختراق بالإضافة إلى أن IntelliJ Idea تصنفه على أنه استيراد غير مستخدم. _Optimize import_ ثم يحذف هذا السطر ويفصل الكود.
هل يمكن إصلاح هذا من فضلك؟ 🙏🏻
حاول استيراد {GoogleMapsAPIWrapper} من "@ agm / core" ؛
بدلاً من استيراد {GoogleMapsAPIWrapper} من "@ agm / core / service" ؛
هذا لا يزال غير ثابت في 1.1.0. هل يمكن إعادة فتحه والعمل عليه من فضلك؟
أواجه هذا الخطأ. حاولت بإصدارات مختلفة وبقي الخطأ ...
بالنسبة لجميع أولئك الذين "لا يزالون" يواجهون هذا الخطأ ، لا تقوموا باستيراد كميات كبيرة ، بل قم بعمليات استيراد ضحلة.
مرحبا @ doom777 هل هذا معالج؟
نعم ، إذا كنت تستخدم الإصدار 3.0.0 الجديد ، فقم بإزالة الاستيراد تمامًا لأننا لم نعد نجمع أنواع Google الخاصة. إذا كنت تستخدم 1.1.0 ، فما عليك سوى استيراد الأنواع من @agm/core
، وليس في عمق lib
هل يمكنك مساعدتي قليلا هنا؟
أرى الآن أن AGM يمكنها الحصول على QueryList mapControls: QueryList<AgmMapControl>;
هل نفعلها الآن مثل ماذا؟
قبل ذلك كان:
public mapTypeControlOptions: MapTypeControlOptions = {
// mapTypeIds: [MapTypeId.HYBRID, MapTypeId.ROADMAP, MapTypeId.SATELLITE, MapTypeId.TERRAIN],
mapTypeIds: ['hybrid', 'roadmap', 'satellite', 'terrain'],
position: ControlPosition.LEFT_TOP,
style: 0
};
وعلى القوالب:
<agm-map *ngIf="activitiesMapData.length > 0"
[mapTypeId]="user && user.settings ? user.settings.mapSettings.mapType : 'roadmap'"
(mapTypeIdChange)="changeMapType($event)"
[fullscreenControl]="true"
[mapTypeControl]="true"
[scaleControl]="true"
[rotateControl]="true"
[zoomControl]="true"
[gestureHandling]="'cooperative'"
[scrollwheel]="null"
[mapTypeControlOptions]="mapTypeControlOptions"
[zoomControlOptions]="zoomControlOptions"
[rotateControlOptions]="rotateControlOptions"
[tilt]="45"
[controlSize]="32"
[disableDefaultUI]="true"
[styles]="getStyles(theme)"
[streetViewControl]="false">
حسنًا ، تعال إلى الخلاف لمزيد من المناقشة ، ولكن بشكل أساسي
<agm-map *ngIf="activitiesMapData.length > 0"
[mapTypeId]="user && user.settings ? user.settings.mapSettings.mapType : 'roadmap'"
(mapTypeIdChange)="changeMapType($event)"
[gestureHandling]="'cooperative'"
[scrollwheel]="null"
[mapTypeControlOptions]="mapTypeControlOptions"
[zoomControlOptions]="zoomControlOptions"
[rotateControlOptions]="rotateControlOptions"
[tilt]="45"
[controlSize]="32"
[disableDefaultUI]="true"
[styles]="getStyles(theme)"
[streetViewControl]="false">
<agm-fullscreen-control></agm-fullscreen-control>
<agm-scale-control></agm-scale-control>
<agm-map-type-control [style]="style" [mapTypeIds]="mapTypeIds" [position]="position"></agm-map-type-control>
@ doom777 روجر ذلك. رأيت أن هذا كان هناك وكنت أتساءل عن الانضمام أم لا: - د
اسمحوا لي أن أجرب نصيحتك. لم أكن أعرف أنها عناصر الآن. أفضل بكثير
نعم ، إذا كنت تستخدم الإصدار 3.0.0 الجديد ، فقم بإزالة الاستيراد تمامًا لأننا لم نعد نجمع أنواع Google الخاصة. إذا كنت تستخدم 1.1.0 ، فما عليك سوى استيراد الأنواع من
@agm/core
، وليس في عمق lib
مرحبًا @ doom777 ما زلت أواجه بعض المشكلات بعد تحديث مشروعي:
ERROR in node_modules/@agm/js-marker-clusterer/services/google-clusterer-types.d.ts:1:60 - error TS2307: Cannot find module '@agm/core/services/google-maps-types' or its corresponding type declarations.
1 import { GoogleMap, LatLngBounds, Marker, MVCObject } from '@agm/core/services/google-maps-types';
أود أن أتناول نصيحتك بعدم إجراء عمليات استيراد كبيرة ، ولكن للأسف لا يزال هذا هو الحال في @ agm / js-marker-Clusterer. هل فاتني شيء؟
هذه هي الإصدارات المستخدمة:
"@agm/core": "3.0.0-beta.0",
"@agm/js-marker-clusterer": "^1.1.0",
شكرا مقدما!
لديك نسخة غير متطابقة. إذا كنت تستخدم الزاوية 10 ، فاستخدم @agm/[email protected]
و @agm/[email protected]
.
إذا كنت تستخدم Angular 9 والإصدارات الأقدم ، فاستخدم @agm/[email protected]
و @agm/[email protected]
لديك نسخة غير متطابقة. إذا كنت تستخدم الزاوية 10 ، فاستخدم
@agm/[email protected]
و@agm/[email protected]
.
إذا كنت تستخدم Angular 9 والإصدارات الأقدم ، فاستخدم@agm/[email protected]
و@agm/[email protected]
نجح هذا. لكنني كنت بحاجة للتحديث من:
import { AgmJsMarkerClustererModule } from '@agm/js-marker-clusterer';
ل:
import { AgmMarkerClustererModule } from '@agm/markerclusterer'
في وحدتي. لسبب ما ، [streetViewControl]
و [zoomControl]
لم يعملوا. بعد إزالتها ، عملت بشكل طبيعي. سأقوم بالتحقق من صحة المستندات إذا تغير شيء ما لهذه الخصائص.
بالإضافة إلى ذلك ، المتعلقة بـ @agm/markerclusterer
أعتقد أنه قد يتم تحديث الوثائق في أسرع وقت ممكن.
صيح. تمت إزالة خيارات التحكم لصالح عناصر التحكم الفرعية
التعليق الأكثر فائدة
jimmykane ، يجب أن تتأكد من أن package.json الخاص بك يحدد
"@agm/core: "1.0.0-beta.7"
وليس@agm/core: "^1.0.0-beta.7"
لأن هذا يعني أن لديك إصدار1.0.0
الذي لا يعرض نفس الواجهة.نحن نعمل على إصلاح هذا ، ولكن هناك واردات أخرى نحتاج إلى معالجتها.