Javascript 如何修复非LatLng或LatLngLiteral:非对象问题-谷歌地图

Javascript 如何修复非LatLng或LatLngLiteral:非对象问题-谷歌地图,javascript,google-maps,google-maps-api-3,maps,Javascript,Google Maps,Google Maps Api 3,Maps,该功能的思想是,当用户输入一个位置时,我们在该位置添加一个标记,并平移所述标记并放大标记的位置。然而,所有这些都相对良好。它给了我一个未捕获的错误Kc{消息:不是LatLng或LatLngLiteral:不是对象,名称:InvalidValueError if(map.getZoom() == 2) { map.setCenter({lat:data.address_lat2, lng:data.address_lng2}); map.panTo(marker.position

该功能的思想是,当用户输入一个位置时,我们在该位置添加一个标记,并平移所述标记并放大标记的位置。然而,所有这些都相对良好。它给了我一个未捕获的错误Kc{消息:不是LatLng或LatLngLiteral:不是对象,名称:InvalidValueError

if(map.getZoom() == 2) {

    map.setCenter({lat:data.address_lat2, lng:data.address_lng2});
    map.panTo(marker.position);
    smoothZoom(map, 11, map.getZoom());

    var location = new google.maps.LatLng({lat:data.address_lat2, lng:data.address_lng2});
    var bounds = new google.maps.LatLngBounds();
    bounds.extend(location.position);
    map.fitBounds(bounds);
}
这是我的平滑缩放功能

function smoothZoom (map, max, cnt) {
   if (cnt >= max) {
        return;
    } else {
        z = google.maps.event.addListener(map, 'zoom_changed', function(event){
        google.maps.event.removeListener(z);
        smoothZoom(map, max, cnt + 1);
    });
        setTimeout(function(){map.setZoom(cnt)}, 150);
    }
}
A没有将A作为参数的构造函数。这是无效语法:

var location = new google.maps.LatLng({lat:data.address_lat2, lng:data.address_lng2});
应该是:

var location_place = new google.maps.LatLng(data.address_lat2, data.address_lng2);
或:

只有当parseFloat是字符串时,才需要它


另外:location不是一个好的变量名。请参阅或

发现这行代码bounds.extendlocation.position;应该是bounds.extend{lat:data.address_lat2,lng:data.address_lng2}

谢谢你的评论,我尝试了你的建议,但没有成功,错误仍然返回。通常情况下,我感到困惑。这不可能。错误是否来自代码中的另一行?请确保将上述内容应用到所有代码中。如果仍然存在问题,请使用允许重现问题的更新问题。我个人使用c逐位输入代码,并将其缩小为几行代码,这就是变量位置={lat:parseFloatdata.address_lat2,lng:parseFloatdata.address_lng2};bounds2.extendlocation.position;location不是一个好的变量名。请看,或者幸运的是,这不是问题所在,但我明白为什么它不是一个好的变量名。谢谢您的帮助。请提供这一点来说明您的问题。这是一个相当大的代码库,有些方面依赖于其他方面。尤其是输入邮政编码或l因此,提供一个简单的例子需要相当长的时间。当我继续每天的工作时间时,我会继续做下去。
var location_place = {lat:parseFloat(data.address_lat2), lng:parseFloat(data.address_lng2)};