无法使用angularjs谷歌地图调用ng-click功能

时间:2015-11-20 08:30:14

标签: php angularjs google-maps

我正在使用angularJS谷歌地图API。当用户点击infowindow"打我"链接我需要在谷歌地图之外显示文字。

我的代码如下               购物车一

    

//AngularJS code
var cities = [
{
    city : 'Toronto',
    desc : 'This is the best city in the world!',
    lat : 43.7000,
    long : -79.4000
},
{
    city : 'New York',
    desc : 'This city is aiiiiite!',
    lat : 40.6700,
    long : -73.9400
},
{
    city : 'Chicago',
    desc : 'This is the second best city in the world!',
    lat : 41.8819,
    long : -87.6278
},
{
    city : 'Los Angeles',
    desc : 'This city is live!',
    lat : 34.0500,
    long : -118.2500
},
{
    city : 'Las Vegas',
    desc : 'Sin City...\'nuff said!',
    lat : 36.0800,
    long : -115.1522
}
];

//Angular App Module and Controller
var investup = angular.module('mapsApp', [])
investup.controller('MapCtrl', function ($scope) {

var mapOptions = {
    zoom: 4,
    center: new google.maps.LatLng(40.0000, -98.0000),
    mapTypeId: google.maps.MapTypeId.TERRAIN
}

$scope.map = new google.maps.Map(document.getElementById('map'), mapOptions);

$scope.markers = [];

var infoWindow = new google.maps.InfoWindow();

var createMarker = function (info){

    var marker = new google.maps.Marker({
        map: $scope.map,
        position: new google.maps.LatLng(info.lat, info.long),
        title: info.city
    });
    marker.content = '<div class="infoWindowContent">' + info.desc + '</div>';

    google.maps.event.addListener(marker, 'click', function(){
        infoWindow.setContent('<h2>' + marker.title + '</h2><a href="" ng-click="show_cart_one()">Hit Me</a>' + marker.content); //calling to ng-click function
        infoWindow.open($scope.map, marker);
    });

    $scope.markers.push(marker);

}  

for (i = 0; i < cities.length; i++){
    createMarker(cities[i]);
}

$scope.openInfoWindow = function(e, selectedMarker){
    e.preventDefault();
    google.maps.event.trigger(selectedMarker, 'click');
}


$scope.cart_one = false;//by default its false
$scope.show_cart_one = function() //When user clicks on "hit me"
{
    alert("Hi");
    $scope.cart_one = true;
}

});

请帮我解决这个问题。我是angularjs的新手。

0 个答案:

没有答案