Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GoogleMapsAPI-类GLatLngBounds的问题_Javascript_Google Maps - Fatal编程技术网

Javascript GoogleMapsAPI-类GLatLngBounds的问题

Javascript GoogleMapsAPI-类GLatLngBounds的问题,javascript,google-maps,Javascript,Google Maps,我的电脑有点问题。我有一个数组,其中包含我创建的用于存储点的ojbect 我的数组和类: var tPoints = []; function tPoint(name) { var id = name; var points = []; var pointsCount = 0; ... this.getHeadPoint = function() { return points[pointsCount-1];

我的电脑有点问题。我有一个数组,其中包含我创建的用于存储点的ojbect

我的数组和类:

var tPoints = [];    
function tPoint(name) {
        var id = name;
        var points = [];
        var pointsCount = 0;
        ...
        this.getHeadPoint = function() { return points[pointsCount-1]; }
    }
tPoint包含一个点数组。我想写一个函数来返回一个对象,该对象从当前贴图边界扩展到显示所有的头点

这是我到目前为止得到的

function getBounds() {
    var mBound = map.getBounds();
    for (var i = 0; i < tPoints.length; i++) {
        alert(mBound.getSouthWest().lat() + "," + mBound.getSouthWest().lng());
        alert(mBound.getNorthEast().lat() + "," + mBound.getNorthEast().lng());
            currPoint = trackMarkers[i].getHeadPoint();        
            if (!mBound.containsLatLng(currPoint)) {
                mBound.extend(currPoint);
            }
        }
    return mBound;
}
函数getBounds(){ var mBound=map.getBounds(); 对于(变量i=0;i 返回警报的这些值。(通常在美国上空)

“19.64258,NaN”
“52.69636,NaN”
“i=0”
“19.64258,南”
“52.69636,-117.20701”
“i=1”

我不知道我为什么要让楠回来。
当我使用边界获取缩放级别时,我认为NaN值导致map.getBoundsZoomLevel(边界)返回0,这是不正确的。我是否使用错误?

谷歌地图示例正在使用此代码

var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();

…在尝试获取单个lng/lat坐标之前,将西南/东北边界放入变量中。可能是“嵌套”评估导致了问题。你是否尝试过细粒度的方法来查看你是否获得了所需的数据?

我也通过谷歌搜索找到了这个例子,并使用了它。这不是问题所在

我找到了我的窃听器。没有人能够解决这个问题。事实证明,就在我测试边界之前,我用错误的数据将地图居中。我做了一些类似于
lngSpan=northEast.lng()-soutwest.lng()的事情但是JavaScript将我的变量解释为字符串。因此
(maxLng-minLng)/2+minLng
返回类似
“20.456-116.1178”的内容作为
lng
。我将我的地图放在
var centerPoint=new GLatLng(setLat,setLng)的中心之后,maps API变得有点奇怪;)


不过,感谢您的帮助。

您应该接受自己的答案,因为这是您的解决方案