传递当前Google地图标记的坐标

时间:2015-07-07 19:21:18

标签: javascript angularjs google-maps

也许是一个简单的问题,但无法找到一个简单的答案。我的标记上有一个eventhandler,它会在InfoWindow中弹出一个ng-click

google.maps.event.addListener(myMarker, 'click', function() {

     var contentString = "<div>Somerandomstring<br/>" +
                         "<a ng-click='send()'>Send to google maps</a></div>";

     var compiled = $compile(contentString)($scope);
     infowindow.setContent(compiled[0]);

     infowindow.open($scope.map, myMarker);
});

有什么办法可以将myMarker的坐标传递给函数send()吗?像send(this.position)

这样的东西

2 个答案:

答案 0 :(得分:1)

google maps documentation表示Marker对象有getPosition()方法。所以你可以使用send(marker.getPosition())将位置发送给控制器,但我认为你可以找到一种更清晰的方法来实现它。

答案 1 :(得分:0)

您应该可以使用myMarker.getPosition()

执行以下操作
google.maps.event.addListener(myMarker, 'click', function() {
     var location = myMarker.getPosition().toString();
     var contentString = "<div>Somerandomstring<br/>" +
                         "<a ng-click='send(" + location + ")'>Send to google maps</a></div>";

     var compiled = $compile(contentString)($scope);
     infowindow.setContent(compiled[0]);

     infowindow.open($scope.map, myMarker);
});