将变量从Google地图传递给jQuery

时间:2014-01-16 12:04:12

标签: jquery google-maps google-maps-api-3

当有人点击Google地图上的标记时,我想在jQuery中使用var currMarker(标记的ID)。

知道怎么做到这一点? currMarker警报有效。现在我需要将它传递给jQuery。

google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
    infoWindow.setContent(infoWindowContent[i][0]);
    infoWindow.open(map, marker);

    var currMarker = markers[i][4];
    alert(currMarker);

    }
})(marker, i));

- 更新---

我想在jQuery中使用它:

$.ajax ({
type: "POST",
url: "/url",
data: "currMarker="+currMarker, etc.

2 个答案:

答案 0 :(得分:0)

您只需将其更改为 global 变量即可。 从您的代码中看起来您正在迭代这些值,因此我的建议是将currMarker更改为array字面值

var currMarker= []; // declare it as array literal 
google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
    infoWindow.setContent(infoWindowContent[i][0]);
    infoWindow.open(map, marker);
    currMarker.push(markers[i][4]); push each values to currMarker
    alert(currMarker);
    }
})(marker, i));

答案 1 :(得分:0)

很难说你要求IMO,但也许是这样的?

...
var currMarker = markers[i][4];
$(document).data({ currMarker: currMarker });
...

在其他地方访问它

var currMarker = $(document).data('currMarker');
if(currMarker)
    console.log(currMarker);