Jump to content
tibi

infowindow.setContent - google maps

Recommended Posts

tibi

Olá, boas tardes!

Alguém me pode ajudar/indicar como poderei fazer um if dentro do infowindow.setContent ?
 

google.maps.event.addListener(marker, 'click', (function(marker, i) {
      return function() {
        infowindow.setContent(
          "<div class='info-window'>" +
          "<h1 class='fsize16 text-uppercase mtop5 fw700 mb5'>"+estabelecimentos[i][0]+"</h1>" +
          "<p>"+estabelecimentos[i][3]+ "</p>" +
          "<img src='"+estabelecimentos[i][1] +"' width='250' class='mb10'>" +
          "<p>"+estabelecimentos[i][2]+ "</p>" +
          "<a class='btn btn-xs' href='https://www.google.pt/maps/dir/" + estabelecimentos[i][5] + "," + estabelecimentos[i][6] + "' target='_blank' class='c-black'>"+ 
          "<?php echo trans('geral.obter_direcoes'); ?>" + 
          "</a>" + 
          "<a class='btn btn-xs pull-right' href='https://www.google.pt/maps/dir/" + estabelecimentos[i][5] + "," + estabelecimentos[i][6] + "' target='_blank' class='c-black'>"+ 
          "<?php echo trans('geral.ver_mais'); ?>" + 
          "</a>" + 
          "<div class='clearfix'></div>" +
          "</div>");
        infowindow.open(map, marker)
      }
    })(marker, i));

No código acima, é possível colocar um if  dentro do infowindow.setContent?

A linha "<p>"+estabelecimentos[ i ][3]+ "</p>" +   corresponde à classificação do estabelecimento (1,2,3,4,5 estrelas).

Pretendia verificar se a classificação for maior que ZERO. No caso de ser maior ainda precisava de colocar um FOR  dentro do IF para desenhar as estrelas necessárias.
É possível?

Obrigado.

Share this post


Link to post
Share on other sites
tiago.f

Olá,

 

deves fazer esse IF (e FOR)  antes do

infowindow.setContent

tipo:

google.maps.event.addListener(marker, 'click', (function(marker, i) {
      return function() {

		let estrelas = "<div>";
		let i = 0;
		while (i < estabelecimentos[i][3]) {
        	estrelas = estrelas + "<li ....></li>";
        }
        estrelas = estrelas + "</div>";
                                          
        infowindow.setContent(
          "<div class='info-window'>" +
          "<h1 class='fsize16 text-uppercase mtop5 fw700 mb5'>"+estabelecimentos[i][0]+"</h1>" +
          "<p>"+estabelecimentos[i][3]+ "</p>" +

 

NOTA: não testei este código.

Share this post


Link to post
Share on other sites
tibi

Obrigado. Não esta a funcionar mas percebi a ideia.
Vou ver se descubro porque.

Quando faço um alert(estrelas) o resultado é <div></div> :confused:   Ainda não descobri porque vem vazio..

 

Share this post


Link to post
Share on other sites
tibi

Já esta a funcionar :):)
 Alterei um pouco e no final ficou assim

var estrelas = "<span class='pl5'>";
var e = 0;
for (e=0; e < estabelecimentos[i][3]; e++) {
  estrelas += "<i class='fa fa-star fsize12 c-logo1' aria-hidden='true'></i>";
}
estrelas = estrelas + "</span>";

Obrigado!

  • Vote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.