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ポイントの配列を保持します。すべての HeadPoints を表示するために、現在のマップ境界から拡張されたGLatLngBoundsオブジェクトを返す関数を書きたいと思います。
ここに私がこれまでに持っているものがあります..
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を間違って使用していますか?