Javascript 谷歌地图世界边界仍然让世界重复

Javascript 谷歌地图世界边界仍然让世界重复,javascript,google-maps,google-maps-api-3,bounds,Javascript,Google Maps,Google Maps Api 3,Bounds,因此,我目前正在制作一张地图,我想让用户无法在地图外平移(因此没有重复的世界),因此当他们一直向外缩放时,他们会看到整个地图,如下所示: 当他们尝试向左或向右平移时,如果一直向外放大,他们就无法平移 我现在有它,所以用户仍然可以左右平移,但它仍然有一点在它的例子片段贝娄 是否有人知道如何做到这一点,或者是我正在努力做的不可能的事情 $(文档).ready(函数(){ var-dev=true; var zoomed=false; //谷歌地图JS //地图样式 变量映射样式=[{ “造型师”

因此,我目前正在制作一张地图,我想让用户无法在地图外平移(因此没有重复的世界),因此当他们一直向外缩放时,他们会看到整个地图,如下所示:

当他们尝试向左或向右平移时,如果一直向外放大,他们就无法平移

我现在有它,所以用户仍然可以左右平移,但它仍然有一点在它的例子片段贝娄

是否有人知道如何做到这一点,或者是我正在努力做的不可能的事情

$(文档).ready(函数(){
var-dev=true;
var zoomed=false;
//谷歌地图JS
//地图样式
变量映射样式=[{
“造型师”:[{
“可见性”:“简化”
}]
}, {
“造型师”:[{
“颜色”:“19191a”
}]
}, {
“功能类型”:“水”,
“造型师”:[{
“颜色”:“#1A1A”
}, {
“轻盈”:8
}]
}, {
“elementType”:“labels.text.fill”,
“造型师”:[{
“可见性”:“打开”
}, {
“轻盈”:25
}]
}];
//集合图
函数init(){
//加载地图时计算世界中心
var w=窗内宽度;
变量映射选项={
最小缩放:getZoom(w),
缩放:获取缩放(w),
中心:getLatLng(西),
mapTypeId:google.maps.mapTypeId.ROADMAP,
disableDefaultUI:true,
样式:Mapstyle
};
var map=new google.maps.map(document.getElementById('map'),mapOptions);
//获取访客位置并将maker放置在其上
$.getJSON('http://freegeoip.net/json/,函数(位置){
getCountry(位置、国家/地区代码);
});
功能getCountry(国家/地区){
geocoder=新的google.maps.geocoder();
地理编码({
“地址”:国家
},功能(结果、状态){
if(status==google.maps.GeocoderStatus.OK){
var marker=new google.maps.marker({
地图:地图,
动画:google.maps.animation.DROP,
位置:结果[0]。几何体。位置
});
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
//测试界限
google.maps.event.addListenerOnce(映射'tilesloaded',函数(){
allowedBounds=map.getBounds();
如果(dev==true){
console.log(allowedBounds);
}
google.maps.event.addListener(map'center_changed',function(){
检查边界(允许边界);
});
});
//极限地图面积
函数检查边界(allowedBounds){
如果(!allowedBounds.contains(map.getCenter())){
var C=map.getCenter();
var X=C.液化天然气();
变量Y=C.lat();
var AmaxX=allowedBounds.getNorthEast().lng();
var AmaxY=allowedBounds.getNorthEast().lat();
var AminX=allowedBounds.getSouthWest().lng();
var AminY=allowedBounds.getSouthWest().lat();
if(XAmaxX){
X=AmaxX;
}
if(YAmaxY){
Y=AmaxY;
}
map.setCenter(新的google.maps.LatLng(Y,X));
}
}
//调整大小功能
google.maps.event.addDomListener(窗口,“调整大小”,函数(){
如果(缩放===假){
map.setZoom(getZoom(4));
缩放=假;
}否则{
var center=map.getCenter();
google.maps.event.trigger(map,“resize”);
地图设置中心(中心);
}
});
}
函数getZoom(w){
如果(w 512&&w 1024&&w 2048&&w 4096&&w