<!DOCTYPE html>
<html ng-app="ngMap">
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script src="https://maps.google.com/maps/api/js?libraries=placeses,visualization,drawing,geometry,places"></script>
<script src="https://code.angularjs.org/1.3.15/angular.js"></script>
<script src="https://rawgit.com/allenhwkim/angularjs-google-maps/master/build/scripts/ng-map.js"></script>
<script>
angular.module('ngMap').controller('MyCtrl', function() {
var vm=this;
vm.data =[
{foo:1, bar:1},
{foo:2, bar:2},
{foo:3, bar:3},
{foo:4, bar:4},
{foo:5, bar:5},
{foo:6, bar:6},
{foo:7, bar:7}
];
vm.positions =[
{pos:[40.71, -74.21], name: "dave 1" },
{pos:[40.72, -74.20], name: "dave 2" },
{pos:[40.73, -74.19], name: "dave 3" },
{pos:[40.74, -74.18], name: "dave 4" },
{pos:[40.75, -74.17], name: "dave 5" },
{pos:[40.76, -74.16], name: "dave 6" },
{pos:[40.77, -74.15], name: "dave 7" }
];
vm.showData = function (marker, param){
console.log(marker) //WHY IS MARKER BEING PASSED THROUGH?!
console.log(param.name);
}
});
</script>
</head>
<body>
<div ng-controller="MyCtrl as vm">
<ng-map zoom="11" center="[40.74, -74.18]">
<marker ng-repeat="p in vm.positions"
position="{{p.pos}}"
on-click="vm.showData(p)"
title="pos: {{p.pos}}"></marker>
</ng-map>
</div>
</body>
</html>