谷歌地图Javascript API v3地图标签和多边形
我正在一个项目中使用GoogleMapsJavaScriptAPIv3,目前在让地图标签显示在多边形上方时遇到了问题。我知道多边形仅针对其自身进行z索引(无法使用maplabel的z索引将maplabel放置在其上方)。我想知道是否有一些黑客绕过这个问题。我还在使用api的信息窗口库,我需要标签显示在多边形上方,但在信息窗口下方。注意:Fusion Tables于2019年12月3日关闭,Google Maps Javascript api 3.37版是支持Fusion Tables的最新版本。 您是否正在尝试这样做: 将信息框用于显示在FusionTablesLayer多边形顶部的地图标签 标签上有白色背景: 代码段:谷歌地图Javascript API v3地图标签和多边形,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在一个项目中使用GoogleMapsJavaScriptAPIv3,目前在让地图标签显示在多边形上方时遇到了问题。我知道多边形仅针对其自身进行z索引(无法使用maplabel的z索引将maplabel放置在其上方)。我想知道是否有一些黑客绕过这个问题。我还在使用api的信息窗口库,我需要标签显示在多边形上方,但在信息窗口下方。注意:Fusion Tables于2019年12月3日关闭,Google Maps Javascript api 3.37版是支持Fusion Tables的最新版本。
google.load('visualization','1'{
“包”:[“corechart”、“table”、“geomap”]
});
var映射;
var标签=[];
var层;
var tableid=1499916;
函数初始化(){
geocoder=新的google.maps.geocoder();
map=new google.maps.map(document.getElementById('map_canvas'){
中心:新google.maps.LatLng(37.23032838760389,-118.65234375),
缩放:6,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
layer=new google.maps.FusionTablesLayer(tableid);
layer.setQuery(“从“+tableid”中选择“几何图形”);
图层设置图(map);
代码地址();
google.maps.event.addListener(map,“bounds_changed”,function()){
displayZips();
});
google.maps.event.addListener(映射,“zoom_changed”,函数(){
if(map.getZoom()<11){
对于(变量i=0;i
#地图#画布{
宽度:610px;
高度:400px;
}
在maplabel.js
中更改:
mapPane.appendChild(canvas);
到
对地图窗格进行了描述
然后在mapLabelOptions中设置xIndex,将标签置于多边形前面。这可能是一个很晚才找到的。。但希望有人会觉得这很有用
如果您不想使用infoBox
(geocodezip的解决方案)而不是标签,并且希望提供自定义zIndex。。编辑maplabel.js
在MapLabel.prototype.onAdd=function()的末尾之前添加以下行{
if (canvas.parentNode != null) {
canvas.parentNode.style.zIndex = style.zIndex;
}
现在,您可以在创建地图标签时传递zIndex:
var mapLabel = new MapLabel({
text: "abc",
position: center,
map: map,
fontSize: 8,
align: 'left',
zIndex: 15
});
这项工作:
在maplabel.js中更改:
mapPane.appendChild(canvas);
到
mapPane.appendChild(canvas);
overlayLayer.appendChild(canvas);