angular - 我应该在我的 .ts 代码中添加什么以使 agm-info-window 工作?
问题描述
我正在尝试为地图上的标记创建一个信息窗口。没有<agm-info-window>
应用程序仍然可以正常工作,但添加它后,甚至地图都不会显示。下面是我试图使它工作的代码,但显然我缺少或不理解的东西。不过,我似乎无法自己弄清楚细节,因为我是 Angular 新手。任何帮助将不胜感激。
这是我的 .ts 代码:
import { Observable, ReplaySubject, Subscription } from 'rxjs';
import { tap } from 'rxjs/operators';
import { MarkerLabel, MouseEvent } from 'C:/Users/Dream Machines/a-pir/node_modules/map-types';
import { FitBoundsAccessor, FitBoundsDetails } from '@agm/core/services/fit-bounds';
import * as mapTypes from '@agm/core/services/google-maps-types';
import { MarkerManager } from '@agm/core/services/managers/marker-manager';
import { InfoWindowManager } from '@agm/core/services/managers/info-window-manager';
declare var google: any;
interface Marker {
lat: number;
lng: number;
value: number;
iconUrl: string;
}
interface Location {
lat: number;
lng: number;
viewport?: Object;
zoom: number;
marker?: Marker;
}
@Component({
selector: 'app-map',
templateUrl: './map.component.html',
styleUrls: ['./map.component.css']
})
export class MapComponent implements OnInit {
geocoder: any;
public location: Location = {
lat: 52.222549,
lng: 21.004424,
marker: {
lat: 52.202737,
lng: 21.001095,
value: 11,
iconUrl: "http://labs.google.com/ridefinder/images/mm_20_orange.png "
},
zoom: 13
};
@ViewChild(AgmMap) map: AgmMap;
constructor(public mapsApiLoader: MapsAPILoader,
_infoWindowManager: InfoWindowManager,
private zone: NgZone,
private wrapper: GoogleMapsAPIWrapper) {
this.mapsApiLoader = mapsApiLoader;
this.zone = zone;
this.wrapper = wrapper;
this.mapsApiLoader.load().then(() => {
this.geocoder = new google.maps.Geocoder();
});
}
ngOnInit() {
}
}
和 .html 代码:
<agm-map [(latitude)]="location.lat" [(longitude)]="location.lng" [(zoom)]="location.zoom" [disableDefaultUI]="true" [zoomControl]="true" [(fitBounds)]='location.viewport'>
<agm-marker [(latitude)]="location.marker.lat"
[(longitude)]="location.marker.lng"
[iconUrl] ="location.marker.iconUrl">
<agm-info-window [disableAutoPan]="false">
Its not working
</agm-info-window>
</agm-marker>
</agm-map>
解决方案
我应该补充:
import { AgmInfoWindow } from '@agm/core/directives/info-window';
推荐阅读
- c++ - %lf 说明符在代码块 IDE 中为双整数提供了错误的输出,而我在 IDE 中添加了“aka C++17”标志
- android - 减少 imageView 和 TextView 之间的距离
- javascript - React 在 Spring 应用程序中不渲染任何东西(使用 frontend-maven-plugin)
- python - 编写 PDF 时添加页码
- c# - 如何禁用按钮,直到动态生成或数据网格中的所有条目都被填充
- linux-kernel - linux内核中的arch/arc/include目录是什么?
- javascript - 显示表格内容时出现问题
- arrays - 根据角度 7 中的另一个对象数组对对象数组进行排序
- shell - Shell 脚本 IP 邻居刷新
- python - 如何在熊猫数据框中删除具有多个条件的行