无法在google map api v3中调用方法getPosition

Cannot call method getPosition in google map api v3

本文关键字:调用 方法 getPosition v3 api google map      更新时间:2023-09-26

我想在这段代码中使用方法getPosition:

alert("Tap location in this map");
google.maps.event.addListener(map, 'click', function(event) {
    mArray[count] = new google.maps.Marker({
        position: event.latLng,
        map: map
    });
});
mArray[count].getPosition();

但是我不能调用getPosition。

Uncaught TypeError: Cannot call method 'getPosition' of undefined

count是一个全局变量。

var count=0;
var mArray = [];

有人能解释一下吗?

按照问题的方式,mArray[count].getPosition()在点击事件运行之前执行(但在定义之后),直到"点击"发生,代码才会执行。这应该有效(但不确定你为什么要这样做):

alert("Tap location in this map");
google.maps.event.addListener(map, 'click', function(event) {
    mArray[count] = new google.maps.Marker({
        position: event.latLng,
        map: map
    });
    mArray[count].getPosition();
});