РЕШЕНИЕ
Кажется, у меня был некоторый остаточный код из слоя Google KML, который скрывал мои пользовательские плитки, а не GeoXML3.
ИСХОДНЫЙ ВОПРОС
Мне интересно, можно ли использовать фрагменты пользовательских изображений со слоем GeoXml KML поверх.
В настоящее время все остальное на карте исчезает при рендеринге слоя.
То же самое происходит с Google KMLLayer, если вы не установили для preserveViewport значение true при создании слоя.
Кто-нибудь знает, есть ли аналогичная опция с 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»?