【发布时间】:2018-06-08 06:41:12
【问题描述】:
我在 Angular 5 前端框架中使用 javascript Google Maps 组件
export class MapComponent implements OnInit {
ngOnInit() {
this.initializeGMap()
}
initializeGMap() {
var myLatlng = new google.maps.LatLng(12,77);
var mapOptions = {
zoom: DEFAULT_MAP_ZOOM,
center: myLatlng,
scrollwheel: true,
styles: MAP_STYLE
};
this.map = new google.maps.Map(document.getElementById("map"), mapOptions);
this.initOnMapClickListener();
}
initOnMapClickListener() {
google.maps.event.addListener(this.map, 'click', function(event) {
var selectedLocation = new google.maps.LatLng(event.latLng.lat(), event.latLng.lng());
this.addMarker(selectedLocation)
});
}
addMarker(latlng) {
var marker = new google.maps.Marker({
position: latlng,
map: this.map,
icon: './assets/map_marker.png'
});
}
}
上面是我的打字稿文件,它有三个功能
- initializeGMap() //初始化谷歌地图
- initOnMapClickListener() //初始化地图点击监听
- addMarker(latlng) // 在 onmapclick 事件发生时添加标记
未捕获的类型错误:无法读取 null 的属性“addMarker”
这是我在运行 Angular 应用程序时遇到的控制台错误
请帮助理解如何在 Javascript 回调中调用 typescript 函数
【问题讨论】:
-
你能显示你的html页面吗?
-
-
Pradeep Join 的回答是正确的,有效
标签: javascript angular typescript callback angular5