Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 使用google maps api v3查找给定中心点的地图边界_Javascript_Google Maps_Google Maps Api 3_Google Maps Markers_Bounds - Fatal编程技术网

Javascript 使用google maps api v3查找给定中心点的地图边界

Javascript 使用google maps api v3查找给定中心点的地图边界,javascript,google-maps,google-maps-api-3,google-maps-markers,bounds,Javascript,Google Maps,Google Maps Api 3,Google Maps Markers,Bounds,我试图确定正在设置动画的标记是否在地图的可视区域内。如果不是,我想告诉我的地图平移到标记位置作为中心位置。我该怎么做?这是我的代码: var curPoint = racePath.GetPointAtDistance(curDist); var curZoom = self.map.zoom; var mapBounds = new google.maps.LatLngBounds(currentCenter); var isInBounds = mapBounds.contains(curP

我试图确定正在设置动画的标记是否在地图的可视区域内。如果不是,我想告诉我的地图平移到标记位置作为中心位置。我该怎么做?这是我的代码:

var curPoint = racePath.GetPointAtDistance(curDist);
var curZoom = self.map.zoom;
var mapBounds = new google.maps.LatLngBounds(currentCenter);
var isInBounds = mapBounds.contains(curPoint);
这不起作用,因为mapBounds需要地图的西南和东北点,但我不知道如何计算它们,而不从mapBounds.getNorthEast()和mapBounds.getSouthWest()方法获取它们-记录在此处:


关于如何解决这个问题有什么想法吗?

若要确定映射的当前边界,请在映射变量上调用getBounds():

如果要知道某个点是否在当前视图区域内,请在LatLngBounds上调用“包含(LatLng)”。像这样:

var currentBounds = myMap.getBounds();
var isInSight = currentBounds.contains(myPointLatLng);
if(isInSight){
    //Your point is within the current bounds
}
如果要平移使贴图位于点的中心,请在贴图变量上调用“panTo(LatLng)”:

var currentBounds = myMap.getBounds();
var isInSight = currentBounds.contains(myPointLatLng);
if(isInSight){
    myMap.panTo(myPointLatLng);
}
“map”变量的名称是什么?可以使用该方法获取地图的当前视口(一旦地图初始化)。