Javascript 谷歌地图不起作用

Javascript 谷歌地图不起作用,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我目前正在尝试设置自定义Google地图的边界,以便用户不能缩小太远(到世界地图开始水平平铺的点),也不能垂直拖动太远以避免问题 我已经添加了设置边界的代码,但是我似乎不再能够拖动(取消注释边界代码以重新创建)。基本上,我只希望边界是世界地图,以避免上面截图中的问题。有什么明显的遗漏吗 文件 #地图画布{ 宽度:100%; 高度:650px; }/#地图 函数CoordMapType(tileSize){ this.tileSize=tileSize; } CoordMapType.prot

我目前正在尝试设置自定义Google地图的边界,以便用户不能缩小太远(到世界地图开始水平平铺的点),也不能垂直拖动太远以避免问题

我已经添加了设置边界的代码,但是我似乎不再能够拖动(取消注释边界代码以重新创建)。基本上,我只希望边界是世界地图,以避免上面截图中的问题。有什么明显的遗漏吗


文件
#地图画布{
宽度:100%;
高度:650px;
}/#地图
函数CoordMapType(tileSize){
this.tileSize=tileSize;
}
CoordMapType.prototype.getTile=函数(坐标、缩放、所有者文档){
var div=ownerDocument.createElement('div');
div.style.width=this.tileSize.width+'px';
div.style.height=this.tileSize.height+'px';
div.style.backgroundImage='url(http://www.transparenttextures.com/patterns/dark-denim-3.png)';
返回div;
};
var映射;
var mullem=new google.maps.LatLng(50.3873733,7.4952241);
函数初始化(){
var latlng=新的google.maps.latlng(50.3873733,7.4952241);
变量myOptions={
disableDefaultUI:true,
缩放:2
};
var map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var mylatng=new google.maps.LatLng(50.3869012,7.4950149);
var marker=new google.maps.marker({
位置:新google.maps.LatLng(40.6700,-73.9400),
地图:地图,
图标:“images/map marker.png”,
zIndex:999999
});
map.setCenter(新的google.maps.LatLng(51.508742,-0.120850));
//地图边界
/*var allowedBounds=new google.maps.LatLngBounds(
新的google.maps.LatLng(83.829945160.839844),
新google.maps.LatLng(-72.711903,-165.058594)
);
var lastValidCenter=map.getCenter();
google.maps.event.addListener(map'center_changed',function(){
if(allowedBounds.contains(map.getCenter())){
//仍然在有效边界内,因此保存最后一个有效位置
lastValidCenter=map.getCenter();
返回;
}
//不再有效=>返回上一个有效位置
panTo地图(lastValidCenter);
});*/
//地图边界-结束
insertAt(0,新的CoordMapType(新的google.maps.Size(256256));
}
google.maps.event.addDomListener(窗口“加载”,初始化);
来自:

LatLngBounds(西南:LatLng | LatLngLiteral,东北:LatLng | LatLngLiteral)从其西南角和东北角的点构造一个矩形

您的边界是向后的:

var allowedBounds = new google.maps.LatLngBounds(
         new google.maps.LatLng(83.829945, 160.839844),  // NE
         new google.maps.LatLng(-72.711903, -165.058594) // SW
);
应该是:

var allowedBounds = new google.maps.LatLngBounds(
         new google.maps.LatLng(-72.711903, -165.058594), // SW
         new google.maps.LatLng(83.829945, 160.839844)    // NE
);

代码片段:

函数CoordMapType(tileSize){
this.tileSize=tileSize;
}
CoordMapType.prototype.getTile=函数(坐标、缩放、所有者文档){
var div=ownerDocument.createElement('div');
div.style.width=this.tileSize.width+'px';
div.style.height=this.tileSize.height+'px';
div.style.backgroundImage='url(http://www.transparenttextures.com/patterns/dark-denim-3.png)';
返回div;
};
var映射;
var mullem=new google.maps.LatLng(50.3873733,7.4952241);
函数初始化(){
var latlng=新的google.maps.latlng(50.3873733,7.4952241);
变量myOptions={
disableDefaultUI:true,
缩放:2
};
var map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var mylatng=new google.maps.LatLng(50.3869012,7.4950149);
var marker=new google.maps.marker({
位置:新google.maps.LatLng(40.6700,-73.9400),
地图:地图,
图标:'http://maps.google.com/mapfiles/ms/micons/blue.png',
zIndex:999999
});
map.setCenter(新的google.maps.LatLng(51.508742,-0.120850));
//地图边界
//LatLngBounds(西南:LatLng | LatLngLiteral,东北:LatLng | LatLngLiteral)从其西南角和东北角的点构造一个矩形。
var allowedBounds=new google.maps.LatLngBounds(
新的google.maps.LatLng(-72.711903,-165.058594),//SW
新的google.maps.LatLng(73.829945160.839844)//NE
);
var lastValidCenter=map.getCenter();
google.maps.event.addListener(map'center_changed',function(){
if(allowedBounds.contains(map.getCenter())){
//仍然在有效边界内,因此保存最后一个有效位置
lastValidCenter=map.getCenter();
返回;
}
//不再有效=>返回上一个有效位置
panTo地图(lastValidCenter);
});
//地图边界-结束
insertAt(0,新的CoordMapType(新的google.maps.Size(256256));
}
google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体,
#地图画布{
宽度:100%;
身高:100%;
}
//#地图


罪魁祸首是
map.panTo()
@ManuAntony你能详细说明一下吗?你的map.panTo被迫开火太多次了-可能有关联,但我不确定