如何防止在所有世界中重复内容

时间:2015-06-04 18:16:31

标签: google-maps google-maps-api-3

我在Google地图中使用KML图层。当我将一个图层加载到地图中时,只要您保持水平滚动,它就会显示在每个世界中。对于内容非常小的区域,不会造成问题,因为地图将自动缩放以仅显示图层中的相关内容。但是对于在整个世界中显示标记的图层,让它们在下一个世界再次重复,它看起来像是一堆乱码。

以Google地图中的此示例代码为例,但默认情况下会使用一层全新世火山而不是其图层。如果你想看到所有这些,你看到的不仅仅是所有这些,而且当你来到他们重复你已经看过的地方的时候,你没有参考。

示例:http://jsfiddle.net/eppptn2x/

代码:

var map;
var elevator;
var myOptions = {
    zoom: 2,
    center: new google.maps.LatLng(10, 0)
};
map = new google.maps.Map(document.getElementById('map'), myOptions);
var markers = [];

var georssLayer = new google.maps.KmlLayer({
    url: 'http://www.volcano.si.edu/ge/GVPWorldVolcanoes.kml'
  });
  georssLayer.setMap(map);

如何防止此行为?如何将所有图层内容和任何标记仅限于一个世界?

2 个答案:

答案 0 :(得分:0)

我希望我理解你的问题。尝试在mapOptions中输入minZOom的值,如下所示:

var myOptions = {
   zoom: 2,
   minZoom:2,
   center: new google.maps.LatLng(10, 0)
};

答案 1 :(得分:0)

我知道为时已晚,但可能对某人有用。 要防止重复标记,您可以将optimized选项设置为false

  var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: 'Hello World!',
    optimized: false
  });

You can find related topic here.