Pergunta

Eu estava tentando adicionar um infoBubble a um marcadorCluster no evento 'clusterclick', mas o método infoBubble.Open pede um parâmetro 'marker' para vincular.O problema é que um marcadorCluster não é um google.maps.Point, portanto não é possível vincular o infoBubble a ele.

Atribuí a posição do marcadorCluster ao infoBubble, mas o infoBubble redesenha na nova posição movendo o marcador de sua posição.

Alguém já teve o mesmo problema?Existe uma solução sem modificar o código original do infoBubble?

http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobubble/

Foi útil?

Solução

Problema de solução 1:O parâmetro marcador era opcional. Se eu simplesmente nunca o atribuir, o problema estará resolvido.

Usar:

infoBubble.setPossition(latLng);
infoBubble.open(map);

Não:

infoBubble.open(map, marker);

Problema 2:Mas agora que o infoBubble aparece no mercado, existe uma maneira de movê-lo para cima?

Problema de solução 2:

Modifiquei o sourceCode do InfoBubble para conter um offsetParameter e depois adicionei os pixels na função draw:

InfoBubble.prototype.PIXEL_OFFSET = 0
...
var top = pos.y - (height + arrowSize); if (anchorHeight) { top -= anchorHeight; } top -= this.PIXEL_OFFSET

Apenas no caso de alguém ter o mesmo problema

Outras dicas

Adicione isto à linha 93 (abaixo dos outros campos de opção)

if (options['pixelOffset'] == undefined) {
    options['pixelOffset'] = this.PIXEL_OFFSET_;
}

Por volta da linha 182, adicione isto

InfoBubble.prototype.PIXEL_OFFSET_ = [0.0];

Perto da linha 908, adicione isto:

top -= this.get('pixelOffset')[1];  // Add offset Y.
left -= this.get('pixelOffset')[0]; // Add offset X.

As linhas acima devem ser colocadas acima:

this.bubble_.style['top'] = this.px(top);
this.bubble_.style['left'] = this.px(left);

Agora em sua construção há opções que você pode fazer

var popupWindowOptions = {
    backgroundColor: '#2B2B2B',
    arrowStyle: 0,
    pixelOffset: [0,16]
 };

 this.popupWindow = new InfoBubble(popupWindowOptions);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top