如何在Angular Google Maps中将点击功能添加到ui-gmap-polylines指令

时间:2015-07-31 16:51:24

标签: angularjs google-maps events

在我的项目中,我使用Angular Google Maps在地图上显示谷歌地图和一些形状。

我正在尝试向折线添加一个函数以响应线上的click事件。我使用一组对象和ui-gmap-polylines指令来显示地图上的线条。显示部分运行良好。我看到文档中有一个events属性,但无法使其正常工作。

这是我的HTML代码:

<ui-gmap-polylines
    idKey="id"
    models="link_list"
    path="'path'"
    stroke="'stroke'"
    clickable="'true'"
    visible="true"
    events="events"
    static="true"
    doRebuildAll = "true">
</ui-gmap-polylines>

这是javascript代码:

function add_link_to_list(link){
            var link_path = google.maps.geometry.encoding.decodePath(link.node_list);
            var ret = {
                id: link.id,
                path: link_path,
                stroke: {
                    color: '#6060FB',
                    weight: 3
                },
                clickable: true,
                editable: false,
                draggable: true,
                geodesic: true,
                visible: true,
                static: true,
                end_intersection: link.end_intersection,
                start_intersection: link.start_intersection
            };

            ret['events'] = {
                click: function(line,eventName,model,args){
                    alert('clicked!');

                },
                rightclick: function(){
                    alert('rightclicked!');
                }
            };
            ret['options'] = {
                              title: link.id,
                          };
            $scope.link_list.push(ret);
        }

我不确定是否以正确的方式分配events参数。

1 个答案:

答案 0 :(得分:1)

行。我再次搜索这个问题并自己找到这个帖子。我终于找到了问题。您必须在html代码中使用events="'events'"。请注意等号右侧双引号内的单引号。