我正在对服务器进行ajax调用以获取纬度和经度数据并将它们推送到包含google.maps.latLng坐标的列表。我正在进行一些计算,因为包含数据的矩阵来自稀疏矩阵(当然会被重写,因为它到目前为止很难看)。我知道我的tempLong
和tempLat
值是正确的,但是当我执行ajax调用时,我不断获得[Uncaught TypeError: google.maps.latLng is not a function]
。我怀疑这与ajax执行的异步调用有关,但我不确定。我查看了this帖子并决定将我的所有代码都放在.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;
});}
list.push(new google.maps.latLng(tempLong,tempLat));
行发生错误。任何想法失败的想法?
答案 0 :(得分:1)
该类是LatLng,而不是latLng。 Javascript区分大小写;它应该是
list.push(new google.maps.LatLng(tempLong,tempLat));
......不是
list.push(new google.maps.latLng(tempLat, tempLong));
你也可以{I}推断出你的纬度和经度已经混淆了。
请参阅: https://developers.google.com/maps/documentation/javascript/reference#LatLng