Google maps api 3 在GoogleMapV3中,如何在多边形内部和上方放置标签?

Google maps api 3 在GoogleMapV3中,如何在多边形内部和上方放置标签?,google-maps-api-3,label,polygon,Google Maps Api 3,Label,Polygon,在GoogleMapV3中,如何在多边形内部和上方放置标签? 在V2中没有标签覆盖 使用库maplabel时,即使指定了更高的Z索引,也可以将文本放在内部,但不能放在上面。 谢谢 菲尔使用 设置标签内容,找到多边形,即:) maplabel在mapPane中的画布上呈现其文本,通常在floatPane中的所有zIndex值下方呈现。 要将mapPane画布放入zIndex顺序,请尝试: var mapLabel = new MapLabel({ position: new google.

在GoogleMapV3中,如何在多边形内部和上方放置标签? 在V2中没有标签覆盖 使用库maplabel时,即使指定了更高的Z索引,也可以将文本放在内部,但不能放在上面。 谢谢 菲尔

使用

设置标签内容,找到多边形,即:)


maplabel在mapPane中的画布上呈现其文本,通常在floatPane中的所有zIndex值下方呈现。 要将mapPane画布放入zIndex顺序,请尝试:

var mapLabel = new MapLabel({
    position: new google.maps.LatLng(yourLat, yourLng),
    text: 'test',
    zIndex: 101} );
$(mapLabel.getPanes().mapPane).css('z-index', mapLabel.zIndex);

现在已经太晚了,但我也遇到了同样的问题,这段代码运行得很好

var triangleCoords = [
    { lat:30.655993, lng: 76.732375 },
    { lat: 30.651379, lng: 76.735808},
    { lat: 30.653456, lng: 76.729682}
]

var bermudaTriangle = new google.maps.Polygon({
    paths: triangleCoords ,
    strokeColor: '#FF0000',
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: '#FF0000',
    fillOpacity: 0.35
});
attachPolygonInfoWindow(bermudaTriangle)

function attachPolygonInfoWindow(polygon) {
    var infoWindow = new google.maps.InfoWindow();
    google.maps.event.addListener(polygon, 'mouseover', function (e) {
        infoWindow.setContent("Polygon Name");
        var latLng = e.latLng;
        infoWindow.setPosition(latLng);
        infoWindow.open(map);
    });
}

您可以使用信息框的
位置
字段。使用下面的代码获取多边形的中心位置

const bounds=new window.google.maps.LatLngBounds();
extend(newwindow.google.maps.LatLng(lat1,lng1));
extend(newwindow.google.maps.LatLng(lat2,lng2));
..
..
让polygonCenter=bounds.getCenter();

你有没有想过这个问题?你是否在寻找类似的东西(使用FusionTablesLayer表示多边形,使用InfoBox表示标签)的可能的重复,可能的重复是完美的。应该是最受欢迎的答案:)
var triangleCoords = [
    { lat:30.655993, lng: 76.732375 },
    { lat: 30.651379, lng: 76.735808},
    { lat: 30.653456, lng: 76.729682}
]

var bermudaTriangle = new google.maps.Polygon({
    paths: triangleCoords ,
    strokeColor: '#FF0000',
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: '#FF0000',
    fillOpacity: 0.35
});
attachPolygonInfoWindow(bermudaTriangle)

function attachPolygonInfoWindow(polygon) {
    var infoWindow = new google.maps.InfoWindow();
    google.maps.event.addListener(polygon, 'mouseover', function (e) {
        infoWindow.setContent("Polygon Name");
        var latLng = e.latLng;
        infoWindow.setPosition(latLng);
        infoWindow.open(map);
    });
}