gpt4 book ai didi

javascript - 如何修复无法读取未定义的属性 'Latitude'

转载 作者:行者123 更新时间:2023-11-30 19:08:33 25 4
gpt4 key购买 nike

我的代码不起作用。我需要将数组的值与输入的值进行比较并返回纬度和经度值,以便在 map 上绘制该点,但只收到错误无法读取未定义的属性纬度。

var auto1 = [{"Latitude": 42.389, "Longitude": -8.567, title: "test"}];

var digit = document.getElementById('searchmap');
var ret = digit.value;

function search(namek, myarray){
for(var i=0; i<myarray.length; i++){
if(myarray[i].title === namek){
return myarray[i];
} else{ return false;
}
}
}

var obj = search(ret,auto1);
function showauto(){
var retu = new google.maps.LatLng(obj.Latitude,obj.Longitude);
map.setCenter(retu);
}

我希望 map.setCenter(retu) 有效。谢谢

最佳答案

您的search 函数有一个条件返回值。因此,如果数组参数中的任何项都不符合条件,它将返回未定义。在尝试引用函数返回值的属性之前,您需要处理这种情况。

编辑:我不太愿意提供一个工作示例,因为我不知道您的规范是什么,但这里有一个可行的示例:

function showauto() {
const obj = search(ret, auto1)
if (obj) {
var retu = new google.maps.LatLng(obj.Latitude,obj.Longitude)
map.setCenter(retu)
}
}

search 返回假值的情况下,showauto 函数将不会尝试运行 map 逻辑。

关于javascript - 如何修复无法读取未定义的属性 'Latitude',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58739939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com