Angular-google-maps: Módulo no encontrado: '@agm/core/services/google-maps-types'

Creado en 20 sept. 2019  ·  54Comentarios  ·  Fuente: SebastianM/angular-google-maps

De repente, me enfrento al siguiente problema.

Módulo no encontrado: Error: No se puede resolver '@agm/core/services/google-maps-types'

Paquete.json

"@agm/núcleo": "^1.0.0",
"@agm/js-marker-clusterer": "^1.0.0"

Comentario más útil

@jimmykane , debe asegurarse de que su paquete.json especifique "@agm/core: "1.0.0-beta.7" no @agm/core: "^1.0.0-beta.7" porque esto significará que tiene la versión 1.0.0 que no expone la misma interfaz.

Estamos trabajando para arreglar esto, pero hay otras importaciones que debemos abordar.

Todos 54 comentarios

Aquí igual

¿Puedes eliminar node_modules y volver a ejecutar npm install ?

@ doom777 Lo he hecho varias veces. sin suerte.

Fragmento de código de muestra a continuación,

import { ZoomControlOptions, ControlPosition, MapTypeControlOptions, FullscreenControlOptions } from '@agm/core/services/google-maps-types';
mapTypeControlOptions:MapTypeControlOptions = {
    position: ControlPosition.LEFT_BOTTOM
    }

  fullscreenControlOptions: FullscreenControlOptions = {
    position : ControlPosition.LEFT_CENTER
  };

hmm, stackblitz está teniendo sus propios problemas en este momento. No logro reproducirme.

esto es lo que estoy intentando:

ng new agm-test2
cd agm-test2
npm install @agm/core
code .

agregar AgmCoreModule.forRoot a AppModule

plantilla: <agm-map [mapTypeControl]="true" [mapTypeControlOptions]="mapTypeControlOptions" [latitude]="0" [longitude]="0"></agm-map>

componente:

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
  };
}

resultado:
image

@ doom777 aquí hay un ejemplo de que no funciona: https://stackblitz.com/edit/angular-krqwfi?file=src%2Fapp%2Fapp.module.ts
todo lo que hice fue agregar @agm/core e intentar importar FitBoundsService

solo estoy recibiendo

Error no capturado (en promesa): Preajuste no especificado en la configuración en
Objeto.config (webcontainer.5f16b010d2745c788a2.js:15)
en t.config (webcontainer.5f16b010d2745c788a2.js:15)
en Be (vista previa-4858aaa60d96ac0657bab.js:1)
en vista previa-4858aaa60d96ac06

57bab.js:1

Esto parece ser un error de stackblitz

¿Puedes intentar algo?

  1. clonar esta biblioteca
  2. ir a packages\core\map-types.ts
  3. agregar ControlPosition a la lista de exportaciones
  4. construir la biblioteca con yarn build
  5. vincule la biblioteca con npm link (tutoriales de Google si no ha usado el enlace npm antes)
  6. a ver si empieza a funcionar

Pruebe mi PR https://github.com/SebastianM/angular-google-maps/pull/1730 y díganos si soluciona el problema.

Tendrás que cambiar la importación de ControlPosition y otros a '@agm/core'

@doom777 He clonado, construido y probado #1730. Está funcionando como se esperaba.

@ doom777 esto parece deberse a cómo ng-packager empaqueta las cosas.

En lugar de que las personas actualicen sus importaciones una vez para esto y luego para #1648, ¿deberíamos centrarnos en obtener #1648, que manejará cualquier importación de Google Maps? (Su cambio para #1730 puede ser necesario para directivas/servicios que no se importan a través de @agm/core y en su lugar se importan desde @agm/core/{directives,services}

Solo para ser claros, ng-packagr fue un cambio potencialmente importante con respecto a la superficie de la API donde # 1648 está rompiendo esa misma superficie (importaciones de tipos de Google Maps)

Agregué #1731, que es un cambio de ng-packagr para este módulo, pero no aborda las importaciones de @agm/core/* que no son @agm/core/services/google-maps-types (incluidos @agm/core/services o @agm/core/directives )

Recibo este error cuando intento importar {google} desde @agm/core/services/google-maps-types. También intenté eliminar node_modules y volver a ejecutar npm install muchas veces. Por favor, ayúdame a encontrar una solución.

@pasqualepalmaccio si es producción, vuelve a 1.0.0-beta.7. De lo contrario, espere hasta que publiquemos una solución.

Después de actualizar tengo el mismo problema. ¿Hay alguna solución?

@jimmykane , debe asegurarse de que su paquete.json especifique "@agm/core: "1.0.0-beta.7" no @agm/core: "^1.0.0-beta.7" porque esto significará que tiene la versión 1.0.0 que no expone la misma interfaz.

Estamos trabajando para arreglar esto, pero hay otras importaciones que debemos abordar.

tenemos una solución, solo un problema temporal al fusionarlo

Todavía veo este problema, ¿se fusionó esta solución?

no, no puedo encontrar otro colaborador que apruebe mi PR :(

¿Esta corrección está fusionada?

¿Quizás retirar la versión 1.0.0 siempre y cuando trabajes en una solución?

Tiene el mismo problema al intentar importar:

importar { ZoomControlOptions, ControlPosition, ZoomControlStyle } desde '@agm/core/services/google-maps-types';

Simplemente registrándose para recibir una notificación de la solución. Usará valores mágicos codificados por ahora

puedes usar 1.0.0-beta.7 por ahora.
1.0.1 saldrá pronto, estoy tratando de contactar a Sebastian Holstein, pero no tuve suerte

hola @SebastianM waky waky .... Por favor, vamos a superar esto

1.0.0-beta.7 rompe con IVY, por lo que actualmente no podemos usar este paquete.

Bump @SebastianM , por favor mantenga este repositorio, vamos. Fusionar y liberar.

Para trabajos de 1 persona, todos estamos luchando aquí.

¿Tal vez deberíamos bifurcarlo? Es evidente que la gente está interesada en usar este paquete.

O: https://drewdevault.com/2018/12/04/How-to-abandon-a-FLOSS-project.html
O incluso: https://www.codeshelter.co/

Quizás Sebastian pueda simplemente agregar los privilegios correctos a las colaboraciones aquí.
y listo problema resuelto.

El sábado 2 de noviembre de 2019 a las 12:37, Lukas Neumann, [email protected] escribió:

¿Tal vez deberíamos bifurcarlo? Es evidente que la gente está interesada en usar
este paquete.

O: https://drewdevault.com/2018/12/04/How-to-abandon-a-FLOSS-project.html
O incluso: https://www.codeshelter.co/


Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/SebastianM/angular-google-maps/issues/1729?email_source=notifications&email_token=AAJVX45GD4L46U7JGGD7FMDQRVQ7FA5CNFSM4IYS2YRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPDYZGOEC4Z-5,791problema
o darse de baja
https://github.com/notifications/unsubscribe-auth/AAJVX45ENBM22GNL6UEF26TQRVQ7FANCNFSM4IYS2YRA
.

estoy obteniendo

Module not found: Error: Can't resolve '@agm/core/services' aunque está instalado!!

@agm/núcleo: 1.0.0-beta.3

¿Puedes intentar actualizar a 1.0.0-beta.7?

¿Cómo lo actualizo? -> npm instalar 'agm/core 1.0.0-beta.7'?

bueno, npm install @agm/[email protected] o npm update @agm/core

Resuelto sin actualizar. Lo intenté

import { GoogleMapsAPIWrapper } from '@agm/core';

y está funcionando con éxito.

Está bien. Además, probablemente no deberías usar GOogleMapsAPIWrapper

¿Por qué podrías explicarme? @doom777

¿Por qué podrías explicarme? @doom777

Creo que GoolgeMapsAPIWrapper solo está diseñado para usarse internamente en la biblioteca, no para nosotros, los consumidores. Debería usar los enlaces de entrada y evento al componente principal. En su módulo, importa AgmCoreModule y forRoot en su sección de importaciones.

Si desea obtener acceso directo a la API de Google Maps, puede obtener el mapa desde (mapReady) en el componente, así:

<agm-map [streetViewControl]="false" [latitude]="lat" [longitude]="lng" [styles]="mapStyles" [zoom]="defaultZoom" [zoomControlOptions]="zoomControlOptions" (mapReady)="mapReady($event)" (zoomChange)="zoomChanged($event)"> </agm-map>

En el código del componente:

mapReady(map: google.maps.Map) { this.map = map; }

Y puede escribir para su mapa instalando @types/googlemaps

@Toomavic
GoogleMapsApiWrapper está destinado internamente a la biblioteca o a las extensiones. Es imperativo, lo que va en contra del estilo declarativo de Angular. La mayoría de las cosas que haría con GMAW debería poder hacerlas con Entradas y Salidas en agm-map y sus hijos.

@ermcgrat también puede obtener la mayoría de los tipos de "@agm/core", al menos hasta que se fusione #1648

Gracias chicos.. Muchas gracias 😍😍😍😍😍

hola por que se cierra este tema
1.1.0 no lo arregla

Bueno, la versión 1.1.0 de @jimmykane te permite:

import { ControlPosition } from '@agm/core'

Hola a todos,

1.1.0 tampoco me lo soluciona. Todavía tengo esto:
Module '"../../../../node_modules/@agm/core/agm-core"' has no exported member 'MapTypeControlStyle'
Aunque lo tiene exportado:
image

Ya intenté eliminar node_modules y package-lock, aunque no me fue mejor...

Todavía estoy recibiendo este error, también.
Module not found: Error: Can't resolve '@agm/core/services/google-maps-types'
Estoy tratando de acceder, por ejemplo google.maps.geometry.spherical.computeArea() . Puedo lograr esto instalando @types/googlemaps y luego import {} from 'googlemaps'; pero esto se siente un poco raro además de que IntelliJ Idea lo marca como una importación no utilizada. _Optimize imports_ luego elimina esta línea y rompe el código.
¿Se puede arreglar esto? 🙏🏻

intente importar { GoogleMapsAPIWrapper } desde '@agm/core';

en lugar de importar { GoogleMapsAPIWrapper } desde '@agm/core/service';

Esto todavía no está arreglado en 1.1.0. ¿Se puede reabrir y trabajar en él?

Estoy enfrentando este error. He probado con diferentes versiones y sigue el error...

para todos aquellos que "todavía" enfrentan este error, no hagan importaciones profundas, hagan superficiales.

Hola , @doom777 , ¿se trata de esto?

sí, si está utilizando la nueva versión 3.0.0, elimine la importación por completo, ya que ya no empaquetamos los tipos de propiedad de Google. Si está utilizando 1.1.0, simplemente importe los tipos desde @agm/core , y no en el interior de la biblioteca.

¿Podrías ayudarme un poco aquí?

Ahora veo que AGM puede obtener una QueryList mapControls: QueryList<AgmMapControl>;

¿Ahora lo hacemos como qué?

Antes era:

 public mapTypeControlOptions: MapTypeControlOptions = {
    // mapTypeIds: [MapTypeId.HYBRID, MapTypeId.ROADMAP, MapTypeId.SATELLITE, MapTypeId.TERRAIN],
    mapTypeIds: ['hybrid', 'roadmap', 'satellite', 'terrain'],
    position: ControlPosition.LEFT_TOP,
    style: 0
  };

Y en las plantillas:

<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">

bueno, ven a discord para mas discusion, pero basicamente

<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 Roger eso. Vi que esto estaba ahí y me preguntaba si unirme o no :-D

Déjame probar tu consejo. No sabía que ahora son elementos. Mucho mejor

sí, si está utilizando la nueva versión 3.0.0, elimine la importación por completo, ya que ya no empaquetamos los tipos de propiedad de Google. Si está utilizando 1.1.0, simplemente importe los tipos desde @agm/core , y no en el interior de la biblioteca.

Hola @doom777 Todavía tengo algunos problemas después de actualizar mi proyecto:

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';

Me gustaría seguir su consejo de no realizar importaciones profundas, pero lamentablemente este sigue siendo el caso en @agm/js-marker-clusterer. ¿Me estoy perdiendo de algo?

Estas son las versiones utilizadas:

"@agm/core": "3.0.0-beta.0",
"@agm/js-marker-clusterer": "^1.1.0",

¡Gracias por adelantado!

Tienes una versión que no coincide. Si está usando angular 10, use @agm/[email protected] y @agm/[email protected] .
Si usa Angular 9 y versiones anteriores, use @agm/[email protected] y @agm/[email protected]

Tienes una versión que no coincide. Si está usando angular 10, use @agm/[email protected] y @agm/[email protected] .
Si usa Angular 9 y versiones anteriores, use @agm/[email protected] y @agm/[email protected]

Esto funcionó. Pero he necesitado actualizar desde:

import { AgmJsMarkerClustererModule } from '@agm/js-marker-clusterer';

para:

import { AgmMarkerClustererModule } from '@agm/markerclusterer'

En mi modulo. Por alguna razón, [streetViewControl] y [zoomControl] no funcionaban. Después de quitarlos, funcionó normalmente. Validaré en los documentos si algo cambió para estas propiedades.

Además de eso, en relación con @agm/markerclusterer , creo que la documentación podría actualizarse lo antes posible.

Correcto. Las opciones de control se han eliminado a favor de los subelementos de control

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ChrisDevinePimss picture ChrisDevinePimss  ·  3Comentarios

Halynsky picture Halynsky  ·  3Comentarios

maneesht picture maneesht  ·  3Comentarios

matishw picture matishw  ·  3Comentarios

shedar picture shedar  ·  4Comentarios