지도상의 마커를 클릭하여 Google지도 <div>
에 인접한 <section>
에서 ng-show를 토글하려고합니다. 기본적으로 마커를 클릭하면 ng-click="toggle()"
처럼 동작합니다.Google지도 아이콘을 클릭하여 ngShow 속성을 전환하십시오.
마커를 클릭하면 true/false 값이 콘솔에 올바르게 기록되지만 ng-show
은 제대로 표시되지 않습니다. http://plnkr.co/edit/z2UCTvqqWh04ZElu6npg?p=preview
이 각도 함께 할 수있는이 뭔가, 또는지도 API 이벤트를 함께 할 수있는 뭔가입니다 :
.controller('MapController', ['$scope',
function($scope) {
// $scope.visible = true;
$scope.toggle = function(){
console.log("Value before clicking: "+$scope.visible);
$scope.visible = !$scope.visible;
console.log("Value after clicking: "+$scope.visible);
}
$scope.buildMap = function(){
var mapStyle=[
// Map styles
];
var myLatLng = new google.maps.LatLng(40.748453,-73.995548);
var mapOptions = {
// Map options
};
var myMap = new google.maps.StyledMapType(mapStyle,{name: "My Map"});
var map = new google.maps.Map(document.getElementById('canvas'),mapOptions);
map.mapTypes.set('myMapStyled', myMap);
map.setMapTypeId('myMapStyled');
var myMarker = new google.maps.Marker({
map: map, position: myLatLng, title: "I’m Here"
});
google.maps.event.addListener(myMarker, 'click', function(e){
$scope.toggle();
});
};
}
])
는 여기가 Plunker에?
또한 컨트롤러 내에서 모든 것을 눌러 Maps API를로드하는 것이 현명하지 않습니까?