我希望当用户点击标记时,我想要一个弹出窗口向他显示一些信息(例如:让我们说标记代表位置,当他点击标记时它会向他显示此位置的所有信息)
最简单的方法是什么?
答案 0 :(得分:0)
有关如何在标记上设置事件侦听器的信息,请参阅Google Maps文档。您应该可以在Blaze模板代码中执行此操作,最有可能在模板的onCreated()
或onRendered()
中执行此操作。
答案 1 :(得分:0)
解决方案是:
marker.addListener('click', function() {
swal({
title: "More details",
text: "Type what you want here",
});
});
此致
答案 2 :(得分:0)
添加此包https://github.com/dburles/meteor-google-maps
<强> HTML 强>
{{> googleMap name="map" options=mapOptions}}
客户端JS
Meteor.startup(function() {
GoogleMaps.load({
v: '3',
key: 'YOUR_KEY'
});
});
Template.YOUR_TEMPLATE.helpers({
mapOptions: () => {
if (GoogleMaps.loaded()) {
return {
center: new google.maps.LatLng(YOUR_MAP_LAT, YOUR_MAP_LNG),
zoom: 1
};
}
}
});
Template.YOUR_TEMPLATE.onRendered(function(){
GoogleMaps.ready('map', function(map) {
let marker = new google.maps.Marker({
position: new google.maps.LatLng(YOUR_MARKER_LAT, YOUR_MARKER_LNG),
map: map.instance
})
let infowindow = new google.maps.InfoWindow({
content: 'SOME CONTENT'
})
marker.addListener('click', function(event){
infowindow.open(map.instance, marker);
})
});
});