首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在<agm-map>角4中使用鼠标

如何在<agm-map>角4中使用鼠标
EN

Stack Overflow用户
提问于 2017-10-14 04:35:46
回答 2查看 3.4K关注 0票数 4

我正在使用AgmMap的地图在角4应用程序。如何在显示信息窗口的agm标记中实现mouseover事件。我需要打开信息窗口标记鼠标悬停。如何将函数onMouseOver中的infowindow实例恢复以打开它?这是我的map.component.html文件

代码语言:javascript
复制
<agm-map [latitude]="lat" [longitude]="lng">
  <agm-marker *ngFor="let m of markers; let i = index"
          [latitude]="m.lat"
          [longitude]="m.lng"
          (markerClick)="clickedMarker(m, i)"
          [iconUrl]="m.iconUrl">
          <agm-info-window>{{m.label}}</agm-info-window>
  </agm-marker>
</agm-map>

和map.component.ts文件

代码语言:javascript
复制
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { AlertService, AuthenticationService } from '../_services/index';
import { Ng4DropdownModule } from 'ng4-material-dropdown';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';

@Component({
   moduleId: module.id,
  templateUrl: './map.component.html',
  styleUrls: ['./map.component.css']
})

export class MapComponent implements OnInit {
   title: string = 'My first AGM project';  
  lat: number = 51.673858;
  lng: number = 7.815982;

  ngOnInit() {
  }

  markers: marker[] = [
      {
          lat: 51.673858,
          lng: 7.815982,
          label: 'Map A',
          draggable: true,
          iconUrl:'http://maps.google.com/mapfiles/ms/icons/green.png'
      },
      {
          lat: 51.373858,
          lng: 7.215982,
          label: 'Map B',
          draggable: false,
          iconUrl:'http://maps.google.com/mapfiles/ms/icons/red.png'
      },
      {
          lat: 51.723858,
          lng: 7.895982,
          label: 'Map C',
          draggable: true,
          iconUrl:'http://maps.google.com/mapfiles/ms/icons/yellow.png'
      }
  ];

  constructor() {
   }

   clickedMarker(marker:marker, index:number)
   {
    console.log('Clicked Marker:'+ marker.label+' at index'+index);
   }


}
interface marker {
    lat: number;
    lng: number;
    label?: string;
    draggable: boolean;
    iconUrl?: string;
}

你能帮帮我吗。如何在AgmMap中实现mouseover事件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-14 04:40:40

您可以使用(mouseOver)="mouseOver($event)"

代码语言:javascript
复制
<agm-marker *ngFor="let m of markers; let i = index" (markerClick)="clickedMarker(m,i)" [latitude]="m.lati" [longitude]="m.longi"
 (mouseOver)="mouseOver($event)">
</agm-marker>
票数 6
EN

Stack Overflow用户

发布于 2022-07-30 16:40:01

使用本守则:

代码语言:javascript
复制
<agm-map [latitude]="lat" [longitude]="lng" [usePanning]="true">
    <agm-marker *ngFor="let m of markers; let i = index" [latitude]="m.lat" [longitude]="m.lng" (markerClick)="clickedMarker(m, i)" [iconUrl]="m.iconUrl" [openInfoWindow]="true" (mouseOver)="onMouseOver(infoWindow, $event)" (mouseOut)="onMouseOut(infoWindow, $event)">
        <agm-info-window [disableAutoPan]="false" #infoWindow>
            <div>
                <p [innerHTML]="m?.label"></p>
            </div>
        </agm-info-window>
    </agm-marker>
</agm-map>

ts代码:

代码语言:javascript
复制
 onMouseOut(infoWindow) { infoWindow.close(); } onMouseOver(infoWindow) { infoWindow.open(); }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46740905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档