Кнопка с событием клика в информационном окне - PullRequest
0 голосов
/ 17 сентября 2018

Я добавил событие нажатия на кнопку внутри содержимого информационного окна.Но код, который должен запускаться после события click, выполняется даже без нажатия кнопки.Когда карта загружена, код события клика console.log («Hi») выполняется автоматически.Я не могу понять, что именно вызывает событие нажатия кнопки.

getPostsForMarker(defaultlat, defaultlng) {
    this.searchService.getAllPostForMarker(defaultlat, defaultlng).subscribe(
      data => {
        this.postMarker = data;

        var resultArray = [];
        for (let i = 0; i < this.postMarker.length; i++) {
          console.log(this.postMarker[i]);
          console.log(this.postMarker[i].Latitude);
          this.locations = [
            resultArray[i] = { lat: this.postMarker[i].Latitude, lng: this.postMarker[i].Longitude }
          ]
        }

        console.log(resultArray);
        console.log("Zoom map to");
        console.log(resultArray[0]);

        const options = {
          center: resultArray[0],
          zoom: 12
        }

        this.map = new google.maps.Map(this.mapRef.nativeElement, options);

        //to add marker in the map
        var marker = [];
        for (let i = 0; i < resultArray.length; i++) {
          marker[i] = new google.maps.Marker({
            position: resultArray[i],
            map: this.map
          });
          //to add info window
          marker[i].addListener('click', (event) => {
            infowindow[i].open(this.map, marker[i])
          })

        }

        // contents to display in info window
        var contentString = [];
        for (let i = 0; i < this.postMarker.length; i++) {
          contentString[i] =
            '<b>Space Type:</b> ' + this.postMarker[i].Space.SpaceTypeName +
            '<br><b>Address:</b> ' + this.postMarker[i].Address +
            '<br><b>Purpose:</b> ' + this.postMarker[i].Suitable.SuitableForType +
            '<br><b>Price:&nbsp;</b>' + this.postMarker[i].Price +
            '<br><strong>No of available rooms:&nbsp;</strong>' + this.postMarker[i].NoOfRooms +
            '<br>' +
             '<input type="button" value="View Details"  id="detailbtn" onclick="'+console.log("Hi")+'"/>'
            ;
        }


        //to add info window in the map
        var infowindow = [];
        for (let i = 0; i < this.postMarker.length; i++) {
          infowindow[i] = new google.maps.InfoWindow({
            content: contentString[i]
          });
        }

      });



  }
...