Javascript GoogleMapsAPI-类GLatLngBounds的问题
我的电脑有点问题。我有一个数组,其中包含我创建的用于存储点的ojbect 我的数组和类: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];
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变得有点奇怪;)
不过,感谢您的帮助。您应该接受自己的答案,因为这是您的解决方案