弹出使用LeftletdirectiveMarker.map.click

时间:2016-08-09 14:54:57

标签: javascript angularjs leaflet angular-leaflet-directive

我是Angularjs的新手,我目前正在开展一个项目,但是遇到了障碍。我一直在尝试多种方法来做到这一点,但我完全没有想法。这是我想要做的图片:

Map

所以在这张图片上,有图标,我想要做的是点击一个图标,会出现一个弹出窗口。如果你看一下右上方的阴影区域,那就是我想要的窗口,看起来像我已经为它构建了一个模板,现在模板显示的是静态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包含所有图标(标题,纬度和经度)的信息,我的想法是检索每个点击事件的纬度和经度,并将其与标记数组中每个标记的纬度和经度进行比较,如果它们相等则显示到弹出窗口。但它不起作用,我不知道还能做什么。任何提示都会有所帮助!

谢谢!

0 个答案:

没有答案