显示Marker在Angular Google Maps中点击的窗口

时间:2014-06-26 12:21:19

标签: javascript angularjs google-maps

我正在使用http://angular-google-maps.org/api来使用Google地图。 到目前为止,我能够显示标记,但不知怎的,我无法在点击时显示窗口。

<markers models="markers" coords="'last_known_location'" icon="'icon'" click="'onClicked'">

    <windows show="'showWindow'" closeClick="'closeClick'" ng-cloak>
                <p ng-non-bindable style="width:200px">{angular{ options.title }angular}</p>
                <p ng-non-bindable>{angular{ latitude | number:4 }angular}, {angular{ longitude | number:4 }angular}!</p>
    </windows>

</markers>

如您所见,它使用showWindow属性来显示窗口

我通过

将其添加到每个标记
angular.forEach($scope.markers,function(marker){

        marker.closeClick = function() {
          marker.showWindow = false;
          $scope.$apply();
        };

        marker.onClicked = function(){
          alert(marker.id);
          onMarkerClicked(marker.id);
        };

 });

警告会在点击时显示,

var onMarkerClicked = function(marker){

  marker.showWindow = true;
  $scope.$apply();

}

该属性也已更改,但窗口没有显示。

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:1)

您的代码实际上在这里工作正常......

问题在于你将marker.id传递给onMarkerClicked,而不是标记本身......

另外,我不需要$ scope。$ apply()使其工作......

现在我想弄清楚如何访问windows标签内的模型obj ...