Javascript 将google.maps.latLng对象添加到列表中会导致[未捕获类型错误:google.maps.latLng不是函数]

Javascript 将google.maps.latLng对象添加到列表中会导致[未捕获类型错误:google.maps.latLng不是函数],javascript,ajax,google-maps-api-3,Javascript,Ajax,Google Maps Api 3,我正在对服务器进行ajax调用,以获取纬度和经度数据,并将它们推送到包含google.maps.latLng坐标的列表中。我在做一些计算,因为包含数据的矩阵来自一个稀疏矩阵(当然会被重写,因为到目前为止它很难看)。我知道我的tempLong和tempLat值是正确的,但是当我执行ajax调用时,我不断得到[未捕获的类型错误:google.maps.latLng不是一个函数]。我怀疑这与ajax执行的异步调用有关,但我不确定。我看了这篇文章,决定把我所有的代码放在.done{}函数中,但这并没有帮

我正在对服务器进行ajax调用,以获取纬度和经度数据,并将它们推送到包含google.maps.latLng坐标的列表中。我在做一些计算,因为包含数据的矩阵来自一个稀疏矩阵(当然会被重写,因为到目前为止它很难看)。我知道我的
tempLong
tempLat
值是正确的,但是当我执行ajax调用时,我不断得到
[未捕获的类型错误:google.maps.latLng不是一个函数]
。我怀疑这与ajax执行的异步调用有关,但我不确定。我看了这篇文章,决定把我所有的代码放在
.done{}
函数中,但这并没有帮助

无论如何,这是我的代码:

function getMultipleArrays(){
var div = document.getElementById("map2");

$.get('getJSONObject', function(data) {

}).done(function(data){
    var minLat = data.minLat;
    var minLong = data.minLong;
    var m = data.m;
    var n = data.n;
    var val = data.val;
    var col = data.col;
    var row = data.row;
    var list =[];

    var minLatCoo= minLat*1000000;
    var minLongCoo= minLong*1000000;
    var i, j, k,zeroIndex;

    for(i=0; i<m;i++){
        zeroIndex=0;
        for(k=row[i]; k<row[i+1];k++){
            j= col[k];
            while(zeroIndex<j){
                zeroIndex++;
            }
            minLatCoo= minLat*1000000;
            minLongCoo= minLong*1000000;
            for(var l=val[k]; l>0;l--){
                minLatCoo+=zeroIndex;
                var tempLat = minLatCoo/1000000;
                minLongCoo+=i;
                var tempLong = minLongCoo/1000000;
                list.push(new google.maps.latLng(tempLong,tempLat));
                console.log(tempLong + " - " + tempLat);
            }
            zeroIndex++;
        }
    }
    console.log(list.length);
    console.log("DONE!");
    return list;
});}
函数getmultiplearlays(){ var div=document.getElementById(“map2”); $.get('getJSONObject',函数(数据){ }).完成(功能(数据){ var minLat=data.minLat; var minLong=data.minLong; var m=data.m; var n=数据n; var val=data.val; var col=data.col; var行=data.row; var列表=[]; var minLatCoo=minLat*1000000; var minLongCoo=minLong*1000000; var i,j,k,零指数;
对于(i=0;i类是LatLng,而不是LatLng.Javascript区分大小写;它应该是

list.push(new google.maps.LatLng(tempLong,tempLat));
……不是

list.push(new google.maps.latLng(tempLat, tempLong));
你也可以
新建google.maps.latLng(tempLong,tempLat)
,从中我推断出你的经纬度混淆了

见: