我目前正在使用Mapnik通过node-mapnik创建区域的等值区块,使用Wax中的g.connector,如下面的代码所示,它运行良好。
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地图每个x,y,z向后发送两个单独的png(一个512x512 vt png包含道路和标签,第二个{{3}地面)。
使用Wax或其他JavaScript工具,是否可以在两个Google地图png之间插入我从Mapnik返回的PNG?我的目标是让标签位于Mapnik返回的图像之上。这当然可以通过改变Mapnik瓷砖的不透明度来实现,但是当不透明度降低时,颜色也不会突出。非常感谢任何帮助。
答案 0 :(得分:0)
看起来目前不支持。
如果你看一下实际的html - 两个卫星图像层在一个带有z-index的嵌套div中,而叠加层在一个具有不同z-index的单独div中。我相信不可能将一个单独的div嵌套在另一个div的两个不同的z-index中,也就是说,这不起作用:
<div style:"z-index: 5"></div>
<div>
<div style:"z-index: 1"></div>
<div style:"z-index: 10"></div>
</div>
对于单个图块,可以将其从叠加div中分离,并将其重新附加到地图图块div,并为所有三个图像指定z索引,但这似乎不太实用。 / p>
目前,有许多公开请求要将此功能添加到Google地图中,但不存在任何内容。
以下是替代方法的想法 - 启用没有道路图层的谷歌地图(搜索谷歌地图样式向导),并使用openStreetMap数据中的mapnik将道路图层渲染到您的图块上。