Как использовать (markerInfoWindowTapped) для навигации в другом компоненте, используя Nativescript - PullRequest
0 голосов
/ 09 июля 2019

Я использую этот плагин

В этом плагине markerInfoWindowTapped Fired on tapping Marker Info Window.

Этот маркерInfoWindowTapped, который я хочу использовать для навигации по другому компоненту, когда я нажимаю на него.

Итак, в HTML у меня есть этот код:

<GridLayout>
    <MapView  (mapReady)="onMapReady($event)" (markerInfoWindowTapped)="onMarkerEvent($event)"></MapView>
</GridLayout>

In .ts Iиметь этот код

onMapReady(event) {
        console.log('OnMapReady')
        this.mapView = event.object;
        this.gMap = event.object.gMap;
        var UiSettings = this.gMap.getUiSettings();
        this.gMap.setMyLocationEnabled(true);
        UiSettings.setZoomControlsEnabled(true);
        this.itemsS = this.itemService.getItems();
        for (let i = 0; i < this.itemsS.length; i++) {
            this.myid=this.itemsS[i].id;
            console.log('this.myid', this.myid)
            console.log('OnMapReady pas for')
            var marker = new Marker();
            marker.position = Position.positionFromLatLng(this.itemsS[i].latitude, this.itemsS[i].longitude);
            marker.title = this.itemsS[i].name;
            marker.infoWindowTemplate = '/details/' + this.itemsS[i].id;
            this.mapView.addMarker(marker);
        }
        this.mapView.longitude = this.currentGeoLocation.longitude;
        this.mapView.latitude = this.currentGeoLocation.latitude;
        this.mapView.zoom = 15;
    }

    onMarkerEvent(event) {
        console.log(event.marker.infoWindowTemplate)
        this.router.navigate(event.marker.infoWindowTemplate);   
    }

Для меня важно переходить в другой компонент, когда я нажимаю на него.Правильный ли мой код?Это не работает и показывает J S: ERROR TypeError: e.reduce is not a function

Можете ли вы предложить какую-либо идею, как перемещаться в другом компоненте, когда я нажимаю на маркер?

...