Javascript 如何将函数中变量的值传递到GoogleMap函数中?

Javascript 如何将函数中变量的值传递到GoogleMap函数中?,javascript,arrays,google-maps,object,Javascript,Arrays,Google Maps,Object,嗨,我正试图使用数组中的输入值设置贴图的中心,但不知怎么的,它不会更新。如果我在view onclick函数中调用map函数,它会显示“InvalidValueError:setCenter:不是LatLng或LatLngLiteral:在属性lat:不是数字中” 测试 身体{ 保证金:0; } #地图{ 位置:绝对位置; 底部:0; 宽度:100%; 高度:300px; } 创造 看法 var create=document.getElementById(“create”); var vie

嗨,我正试图使用数组中的输入值设置贴图的中心,但不知怎么的,它不会更新。如果我在view onclick函数中调用map函数,它会显示“InvalidValueError:setCenter:不是LatLng或LatLngLiteral:在属性lat:不是数字中”


测试
身体{
保证金:0;
}
#地图{
位置:绝对位置;
底部:0;
宽度:100%;
高度:300px;
}
创造
看法
var create=document.getElementById(“create”);
var view=document.getElementById(“视图”);
var latDefault=41;
变量lngDefault=-122;
var-map=null;
var store_arr=[];
create.onclick=function(){
var拉丁输入=document.createElement(“输入”);
latInput.placeholder=“纬度”;
//latInput.value=latDefault;
var lngInput=document.createElement(“输入”);
lngInput.placeholder=“经度”;
//lngInput.value=lngDefault;
var pushBut=document.createElement(“按钮”);
pushBut.innerHTML=“存储”;
display.appendChild(拉丁文输入);
display.appendChild(lngInput);
display.appendChild(pushBut);
pushBut.onclick=函数(){
var latVal=latInput.value;
var lngVal=lngInput.value;
var profileObj={
纬度:拉特瓦尔,
经度:lngVal
};
存储阵列推送(profileObj);
}
}
view.onclick=函数(){
var displayB=document.createElement(“div”);
document.body.appendChild(displayB);
displayB.innerHTML=“”;
对于(var i=0;i您将获得错误“InvalidValueError:setCenter:不是LatLng或LatLngLiteral:在属性lat:不是数字中”,因为
latDefault
lngDefault
中的值是字符串,而不是数字:

  var latVal = latInput.value; // this is a string
  var lngVal = lngInput.value; // so is this
  var profileObj = {
    Latitude: latVal,
    Longitude: lngVal
  };
  store_arr.push(profileObj);

// snip

latDefault = store_arr[i].Latitude;
lngDefault = store_arr[i].Longitude;
要将它们转换为数字,可以对它们调用
parseFloat
,或者对它们执行数字操作

latDefault = parseFloat(store_arr[i].Latitude);
lngDefault = parseFloat(store_arr[i].Longitude);
代码片段:

正文{
保证金:0;
}
#地图{
位置:绝对位置;
底部:0;
宽度:100%;
高度:300px;
}
创建
看法
var create=document.getElementById(“create”);
var view=document.getElementById(“视图”);
var latDefault=41;
变量lngDefault=-122;
var-map=null;
var store_arr=[];
create.onclick=function(){
var拉丁输入=document.createElement(“输入”);
latInput.placeholder=“纬度”;
//latInput.value=latDefault;
var lngInput=document.createElement(“输入”);
lngInput.placeholder=“经度”;
//lngInput.value=lngDefault;
var pushBut=document.createElement(“按钮”);
pushBut.innerHTML=“存储”;
display.appendChild(拉丁文输入);
display.appendChild(lngInput);
display.appendChild(pushBut);
pushBut.onclick=函数(){
var latVal=latInput.value;
var lngVal=lngInput.value;
var profileObj={
纬度:拉特瓦尔,
经度:lngVal
};
存储阵列推送(profileObj);
}
}
view.onclick=函数(){
var displayB=document.createElement(“div”);
document.body.appendChild(displayB);
displayB.innerHTML=“”;
对于(变量i=0;i
您是否尝试过将json键从lat更改为“lat”,将lng更改为“lng”(中心:{“lat”:latDefault,“lng”:lngDefault})?
latDefault = parseFloat(store_arr[i].Latitude);
lngDefault = parseFloat(store_arr[i].Longitude);