【发布时间】:2017-05-17 09:26:27
【问题描述】:
我想在单击按钮时打开一个模式,该模式会动态添加到我地图上标记的信息窗口中。
我现在尝试了几件事,比如使用 onclick、ng-click 和 ui-sref。 onclick 不起作用,因为它说我的函数没有定义。 ng-click 没有触发,使用 $state.go('someState') 方法的 ui-sref 也没有。
var createMarkerOnMap = function (param) {
if (param.hasOwnProperty('type')) {
var contentString = "<h5>" + 'Social-Media-Filter ID: '+ param.id + "</h5><hr color='#000000' noshade>X Ereignisse in diesem Filter <br>" + param.keywords;
var infowindow = new google.maps.InfoWindow({
content: contentString +
'<br><button id="detailsButtonFilter" ng-click="test()" class="btn btn-primary"><i class="fa fa-lg fa-eye"></i> Details</button>' +
' <button id= "editButtonFilter" ng-click="test()" class="btn btn-primary"><i class="fa fa-lg fa-cog"></i> Bearbeiten</button>'
});
// document.getElementById ("detailsButtonFilter").addEventListener ("click", bla, false);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(param.latitude, param.longitude),
title: param.keywords,
icon: getSocialMediaIcon(param.type)
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open($scope.map, marker);
});
} else {
var contentString = "<h5>" + param.name + "</h5><hr color='#000000' noshade> Notfallwarnung Stufe " + param.warningLevel + " aktiv <br>";
var infowindow = new google.maps.InfoWindow({
content: contentString +
'<br><button ng-click="test()" class="btn btn-primary"><i class="fa fa-lg fa-eye"></i> Details</button> ' +
' <button ng-click="test()" class="btn btn-primary"><i class="fa fa-lg fa-cog"></i> Bearbeiten</button>'
});
var marker = new google.maps.Marker({
position: new google.maps.LatLng(param.latitude, param.longitude),
title: param.name,
icon: setPdIcon(param.warningLevel)
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open($scope.map, marker);
});
}
return marker;
};
嗯...我认为我的动态添加的 HTML 没有正确呈现,但我不知道在这种情况下如何处理它。
【问题讨论】:
标签: javascript angularjs google-maps button angular-ui-bootstrap