Meteor - 谷歌地图标记点击事件

时间:2016-07-26 15:05:35

标签: google-maps meteor

我希望当用户点击标记时,我想要一个弹出窗口向他显示一些信息(例如:让我们说标记代表位置,当他点击标记时它会向他显示此位置的所有信息)

最简单的方法是什么?

3 个答案:

答案 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);
       })


    });
});