AQUÍ: Retornar un Observable Mientras Espera que finalice la cambio de estado y luego suscribirse a él
Estoy teniendo dificultades para resolver estos 2 problemas y todavía estoy trabajando en ello. Espero que alguien pueda ayudarme. ¡Gracias de antemano!
1.) Tengo un map.service con esta función.
readKML(file): any {
const exportUrl = URL.createObjectURL(file);
const reader = new HERE_MAP.data.kml.Reader(exportUrl);
// Parse the document
reader.parse();
reader.addEventListener('statechange', (evt) => {
if (evt.state === HERE_MAP.data.AbstractReader.State.READY) {
return of({
markers: ['prueba'],
lines: ['prueba']
});
}
if (evt.state === HERE_MAP.data.AbstractReader.State.ERROR) {
this.message.error('Error al analizar el KML');
return of(null);
}
});
}
Esta función se llama en el componente y se espera recibir los datos devueltos.
this.map.service.readKML(file)
.subscribe(
data => {
console.log(data);
}
)
El problema es que estoy obteniendo un error
this.map.readKML(...).subscribe no es una función
Expectativa:
Los datos deben recibirse si el estadoChange es igual a ‘READY’.
2.) El servicio se llamará al mismo tiempo con diferentes valores de parámetro y se espera tener diferentes resultados si el número 1 está bien.
Sin embargo, esto se puede resolver si el número 1 sigue siendo un problema.
this.map.service.readKML(file1)
.subscribe(
data => {
console.log('uno', data);
}
)
this.map.service.readKML(file1)
.subscribe(
data => {
console.log('dos', data);
}
)
Si tienen alguna idea de cómo solucionar esto u otra aproximación, se agradece mucho. ¡Gracias!
davy.ai
Necesito ayuda con problemas del servicio de mapas
Hola a todos,
Soy un experto en TI especializado en JavaScript, Angular, TypeScript y HERE Maps. Actualmente estoy enfrentando dos problemas con mi servicio de mapas (
map.service
) y estoy teniendo dificultades para resolverlos por mi cuenta. Espero recibir ayuda de la comunidad. ¡Gracias de antemano!Problema 1
Tengo un
map.service
con una funciónreadKML(file)
, la cual es llamada por un componente. Esta función está diseñada para devolver un objeto con marcadores y líneas, pero me encuentro con un error al intentar recibir los datos.Este es el código para llamar a la función.
El mensaje de error que recibo es: “this.map.readKML(…).subscribe no es una función”.
Espero que alguien pueda ayudarme a identificar el problema y proporcionar una solución viable. Espero recibir mis datos si el estado es “READY”.
Problema 2
Si se ha resuelto el problema anterior, necesito abordar un segundo problema donde el mismo servicio será llamado al mismo tiempo con diferentes parámetros. Espero que estos diferentes parámetros den resultados diferentes.
Este es un ejemplo del código que estoy usando actualmente:
Si tienes alguna sugerencia o idea sobre cómo resolver estos problemas, te agradecería mucho. ¡Gracias!