我是Angularjs的新手,我目前正在开展一个项目,但是遇到了障碍。我一直在尝试多种方法来做到这一点,但我完全没有想法。这是我想要做的图片:
所以在这张图片上,有图标,我想要做的是点击一个图标,会出现一个弹出窗口。如果你看一下右上方的阴影区域,那就是我想要的窗口,看起来像我已经为它构建了一个模板,现在模板显示的是静态div。
到目前为止,这是我的代码:
$scope.cameraData = [];
$scope.markers = [];
$http.get($scope.docRoot + 'public/data/streetcams.json')
.success(function(data) {
$scope.cameraData = data;
for(var marker in $scope.cameraData) {
if($scope.cameraData.hasOwnProperty(marker)) {
$scope.cameraData[marker].icon = cameraIcon;
$scope.cameraData[marker].layer = 'video';
}
}
$scope.markers = $scope.cameraData;
}).error(function(data) {
console.log("Unable to load streecam data file");
});
$scope.windowOption = {
show:false
};
var x, y;
$scope.$on("leafletDirectiveMarker.map.click", function(event, args) {
console.log("this is where the marker is");
console.log (args.latlng.lat, args.latlng.lng);
for ( var marker in $scope.markers) {
x = args.latlng.lat;
y = args.latlng.lng;
if (marker.lat === x && marker.lng === y ) {
$scope.windowOption.show = !$scope.windowOption.show;
}
}*/
});
$scope.closePopupOnClick = function () {
$scope.windowOption.show = false;
};
所以$ scope.markers包含所有图标(标题,纬度和经度)的信息,我的想法是检索每个点击事件的纬度和经度,并将其与标记数组中每个标记的纬度和经度进行比较,如果它们相等则显示到弹出窗口。但它不起作用,我不知道还能做什么。任何提示都会有所帮助!
谢谢!