Вставьте плитку Mapnik между базовой картой Google и изображением метки

В настоящее время я использую Mapnik для создания картограмм регионов Бразилии через node-mapnik с помощью g.connector от Wax, как в приведенном ниже коде, и это работает хорошо.

var map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: new google.maps.LatLng(-23.1851, -51.0754),
    zoom: 8,
    zoomControlOptions: {
        style: google.maps.ZoomControlStyle.SMALL
    },
    mapTypeId: google.maps.MapTypeId.HYBRID
});

var tiles = {
tilejson: '2.0.0',
    tiles: ['url/{z}/{x}/{y}.png']
};
map.overlayMapTypes.insertAt(0, new wax.g.connector(tiles));

Но я заметил, используя инструменты разработчика Chrome, что карты Google отправляют два отдельных png для каждой плитки x, y, z обратно (один 512x512 vt png с дорогами и метками, а второй 256 x 256 кх png земли).

Можно ли с помощью Wax или других инструментов JavaScript вставить PNG, который я получаю от Mapnik, между двумя PNG-картами Google? Моя цель — сделать так, чтобы метки располагались поверх изображений, возвращаемых Mapnik. Конечно, этого можно добиться, изменив непрозрачность плиток Mapnik, но при уменьшении непрозрачности цвета почти не выделяются. Любая помощь приветствуется.


person hotshotiguana    schedule 24.02.2014    source источник
comment
Вы можете попробовать опубликовать информацию на GIS StackExchange — gis.stackexchange.com.   -  person Adam Morris    schedule 21.03.2014
comment
Спасибо. Только что разместил там.   -  person hotshotiguana    schedule 22.03.2014


Ответы (1)


Похоже, в настоящее время он не поддерживается.

Если вы посмотрите на фактический html, то увидите, что два слоя спутниковых изображений находятся во вложенном div с z-индексом, а наложение находится в отдельном div с другим z-индексом. Я считаю, что невозможно вложить отдельный div в два разных z-индекса другого div, иначе это не работает:

<div style:"z-index: 5"></div>
<div>
   <div style:"z-index: 1"></div>
   <div style:"z-index: 10"></div>
</div>

Для одного тайла можно отсоединить его от div-наложения и повторно прикрепить к div-элементу тайла карты, а также присвоить z-индексы всем трем изображениям, но это не кажется очень практичным.

На данный момент есть несколько открытых запросов на добавление этой функции в карты Google, но ничего не существует.

Вот идея для альтернативного подхода - включите вашу карту Google без слоя дороги (найдите мастер стиля карты Google) и визуализируйте слой дороги на ваших плитках, используя mapnik из данных openStreetMap.

person Adam Morris    schedule 24.03.2014