在事件侦听器上访问标记

时间:2016-03-21 09:21:13

标签: javascript angularjs google-maps google-maps-api-3 ng-map

我正在使用ng-map项目,而我在点击事件上访问标记时遇到问题。 @allenhwkim在4个月前回复This question,我可以使用this访问该标记,但是当我尝试时,我会undefined

这就是我创建地图和标记的方法

    <ng-map center="[39.4, 34.744971]" zoom="6"
            street-view-control="false">
        <marker ng-repeat="z in zones"
                position="{{z.alignment.center}}"
                on-click="focusMarker($event)"
        ></marker>
    </ng-map>

事件监听器设置地图的中心并缩放以聚焦标记,然后弹出信息窗口。在这个函数中,我需要点击标记,以便我可以访问它的属性

    $scope.focusMarker = function(event)
    {
        NgMap.getMap().then(function (map) 
        {
            var infowindow = new google.maps.InfoWindow();

            map.setZoom(12);
            map.setCenter(new google.maps.LatLng(event.latLng.lat(), event.latLng.lng()));
            infowindow.setPosition(event.latLng);
            infowindow.open(map);
        });
    };

我认为只有解决方案是在event.latLng坐标上找到标记但是我无法过滤map.markers,因为就我所见,它是一个对象而不是数组。

0 个答案:

没有答案