我在使用Google Maps API时遇到了一些问题。我有一个数组,其中包含我创建的用于存储点的对象。
我的数组和类:
var tPoints = [];
function tPoint(name) {
var id = name;
var points = [];
var pointsCount = 0;
...
this.getHeadPoint = function() { return points[pointsCount-1]; }
}
tPoint 包含一个GLatLng点数组。我想编写一个函数来返回一个GLatLngBounds对象,该对象从当前地图边界扩展以显示所有 HeadPoints。
这是我到目前为止所拥有的..
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;
}
它返回警报的这些值。(一般在美国)
"19.64258,NaN"
"52.69636,NaN"
"i=0"
"19.64258,NaN"
"52.69636,-117.20701"
"i=1"
我不知道为什么我要让 NaN 回来。当我使用边界获得缩放级别时,我认为 NaN 值导致 map.getBoundsZoomLevel(bounds) 返回 0,这是不正确的。我是否错误地使用了 GLatLngBounds?