在Google Base Map和Label Image之间插入Mapnik平铺

时间:2014-02-24 19:16:33

标签: javascript google-maps mapnik

我目前正在使用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瓷砖的不透明度来实现,但是当不透明度降低时,颜色也不会突出。非常感谢任何帮助。

1 个答案:

答案 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将道路图层渲染到您的图块上。