GeoXml3 — Пользовательские плитки карты

РЕШЕНИЕ

Кажется, у меня был некоторый остаточный код из слоя 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»?


person Tspoon    schedule 07.10.2013    source источник
comment
Как выглядит ваш код? Geoxml3 просто переводит KML в собственные объекты Google Maps Javascript API v3, поэтому, если ваша пользовательская карта имеет странные координаты, она может вести себя именно так. Но трудно сказать, не видя примера.   -  person geocodezip    schedule 08.10.2013
comment
Спасибо за ответ .... Кажется, теперь все работает отлично. Я думаю, что, возможно, там были остатки старого кода Google KML (без установленной опции prerenderedViewport). И последний вопрос: можно ли использовать KML для названий улиц? И сделайте так, чтобы названия улиц отображались над ломаной линией. Я так не думаю, но я хотел бы подтверждения от эксперта!   -  person Tspoon    schedule 08.10.2013
comment
Обновление Кажется, вы уже ответили на этот вопрос здесь: stackoverflow.com/questions/18852326/   -  person Tspoon    schedule 08.10.2013
comment
Этот вопрос - беспорядок. Пожалуйста, удалите части, которые вы хотите игнорировать. Мы можем использовать историю для просмотра предыдущих версий поста.   -  person Pavel Strakhov    schedule 08.10.2013


Ответы (1)


Параметр для geoxml3, который предотвращает масштабирование и центрирование карты по данным:

zoom    boolean true    

Если true, синтаксический анализатор автоматически переместит карту в наиболее подходящее место для геоданных после завершения синтаксического анализа документа KML.

(По умолчанию установлено значение true, как указано выше, установите для него значение false, чтобы предотвратить такое поведение)

Ссылка на Справочник по синтаксическому анализатору geoxml3

person geocodezip    schedule 07.10.2013