解
似乎我有一些来自Google KML Layer的残余代码 隐藏了我的自定义磁贴,而不是GeoXML3
原始问题
我想知道是否可以在顶部使用带有GeoXml KML图层的自定义图像图块。
目前,地图上的其他所有内容在渲染图层时都会消失。
除非在创建图层时将“preserveViewport”设置为true,否则Google KMLLayer也会发生同样的情况。
任何人都知道GeoXML3是否有类似的选项?或者实现该功能有多难?
这是我的地图初始化代码:
var centerCoords = new google.maps.LatLng(66.722541, -140.625000);
var mapOptions = {
center: centerCoords,
zoom: 4,
streetViewControl: false,
mapTypeControlOptions: {
mapTypeIds: ['Atlas', 'Satellite', 'Road']
}
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
map.mapTypes.set('Atlas', mapAtlas);
map.mapTypes.set('Satellite', mapSatellite);
map.mapTypes.set('Road', mapRoad);
map.setMapTypeId('Atlas');
现在,如果我使用它渲染它可以正常工作,KML会出现在我的自定义磁贴上:
var kmlLayer = new google.maps.KmlLayer({
url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml',
preserveViewport: true
});
kmlLayer.setMap(window.map);
重要的部分是'preserveViewport' - 如果没有这个,除了KML图层之外的所有内容都将被隐藏(我的自定义标记和图块)。
使用GeoXml3解析器发生相同的事情(一切都被隐藏):
var myParser = new geoXML3.parser({map: window.map});
myParser.parse('cta.xml');
KML文件是一样的。我认为这是因为没有这样的'prerenderedViewport'选项吗?
答案 0 :(得分:1)
geoxml3的选项可防止它缩放数据并使地图居中于数据:
zoom boolean true
如果 true,解析器将在解析完KML文档后自动将地图移动到地理数据的最佳位置。
(如上所示默认为true,将其设置为false以防止该行为)
的参考资料