在我的项目中,我使用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
参数。
答案 0 :(得分:1)
行。我再次搜索这个问题并自己找到这个帖子。我终于找到了问题。您必须在html代码中使用events="'events'"
。请注意等号右侧双引号内的单引号。