Для моего приложения я использую:
Угловой 7,2
Открывающие слои 5.3
То, чего я пытаюсь достичь, это когда вы наводите карту, координаты положения вашей мыши будут отображаться в снэк-баре.
Я знаю, что снэк-бар не предназначен для динамических данных, но я подумал, что здесь будет полезно.
Мой код:
import { Component, OnInit } from '@angular/core';
import { mapService } from '../services/map.service'
import { MatSnackBar } from '@angular/material';
@Component({
selector: 'app-map',
templateUrl: './map.component.html',
styleUrls: ['./map.component.scss']
})
export class MapComponent implements OnInit {
mousePosition: any = "Hover the map"
constructor(
public mapService: mapService,
public snackBar: MatSnackBar
) { }
ngOnInit() {
this.mapService.initMap()
}
getMousePosition(){
this.snackBar.openFromComponent(snackbarComponent)
}
}
@Component({
selector: 'snackbar',
template: `{{ mousePosition }}`,
styles: [``]
})
export class snackbarComponent implements OnInit {
mousePosition: any
constructor(
private mapService: mapService
) { }
ngOnInit(): void {
this.mapService.map.on('pointermove', function(evt) {
console.log(evt.coordinate)
this.mousePosition = evt.coordinate
}.bind(this))
}
}
Я вырезал ненужный код, так как думал, что он будет бесполезен,
Это результат, который я хочу, но затем постоянно менять положение мыши
Как сделать так, чтобы закусочная обновлялась без закрытия?
Код Openlayers работает, но не в снэк-баре, потому что (я думаю), снэк-бар открывается только один раз и вставляет данные, которые он получает в этот момент.