我在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);
如何防止此行为?如何将所有图层内容和任何标记仅限于一个世界?
答案 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
});