147 | const values = {
148 | coords: {
> 149 | lat: res.geometry.location.lat(),
| ^
150 | lng: res.geometry.location.lng(),
151 | },
152 | address,
问题文字:
(属性)google.maps.places.PlaceGeometry.location?:google.maps.LatLng |不明确的 该地点的位置。
对象可能是“未定义”。ts(2532)
它的意思正是它所说的,您尝试传递给对象的值可能是未定义的,您可以做的是在传递项目之前使用javascript的Nullish合并运算符检查其是否未定义,例如:
const values = {
coords: {
lat: res.geometry.location.lat() ?? defaultLat,
lng: res.geometry.location.lng() ?? defaultLng,
},
address
}
或者您可以通过附加“!”来使用打字稿非空断言运算符值名称(仅当您确定该值不能为空或未定义时才使用此)
const values = {
coords: {
lat: res.geometry.location.lat()!,
lng: res.geometry.location.lng()!,
},
address
}
必须验证物体是否存在,其属性或价值
if (place.geometry && place.geometry.location) {
const lat = place.geometry.location.lat();
const lng = place.geometry.location.lng();
setCoordinates({ lat, lng });
}
Espero ter ajudado;)