2016-09-12 13 views
-1

の外にこれは私がすべてのマーカーを作成し、オープンGoogleマップ情報ウィンドウマップ

var infowindow = new google.maps.InfoWindow(); 
    var markernovi, i; 

    for (i = 0; i < lokacije.length; i++) { 
     var ll = lokacije[i][2]; 
     var latlng = ll.split(','); 
     markernovi = new google.maps.Marker({ 
      position: new google.maps.LatLng(parseFloat(latlng[0]), parseFloat(latlng[1])), 
      map: mapObject, 
      icon: 'img/pins/' + key + '.png', 
     }); 

     google.maps.event.addListener(markernovi, 'click', (function (markernovi, i) { 
      return function() { 
       infowindow.setContent(lokacije[i][0]); 
       infowindow.open(mapObject, markernovi); 
      } 
     })(markernovi, i)); 



    markers.push(markernovi); 
    } 
} 


google.maps.event.addDomListener(window, 'load' , initialize); 

function myClick(id){ 
    google.maps.event.trigger(markers[id], 'click'); 
} 

リスナーをクリックし設定するために使用して、私は、ページ上のすべての場所のリストを表示するためにこれを持っているのjavascriptです:

<?php 
       foreach($lokacijebuy1 as $sve) { 
        ?> 
        <div class="col-lg-6 col-md-12 col-sm-6"> 
         <div class="img_wrapper"> 
          <div class="img_container"> 
           <a href="#" onclick="myClick(0);" > 
            <img src="http://evidentiraj.me/gkcard/slikemjesta/<?php echo $sve['photo']; ?>" width="800" height="533" class="img-responsive" alt=""> 
            <div class="short_info"> 
             <h3><?php echo $sve['ime2']; ?></h3> 
             <em><?php echo $sve['adresa']; ?></em> 
             <p> 
              <?php echo $sve['opis2']; ?> 
             </p> 
            </div> 
           </a> 
          </div> 
         </div><!-- End img_wrapper --> 
        </div><!-- End col-md-6 --> 
       <?php } 
      ?> 

そして、私が開いているinfowindowだけをクリックしても、配列の最初のものはありません。

あなたが見ることができるページここに住ん:http://evidentiraj.me/gorskikotarcard/locationsbuy.php

そして私は、私は他のマーカーを表示するように変更する必要がある唯一の事は

<a href="#" onclick="myClick(1);" > 

ANSWER myClick内の数字であることが判明:私は 唯一のものだったが、

<?php 
      $counter = 0; 
       foreach($lokacijebuy1 as $sve) { 

        ?> 
        <div class="col-lg-6 col-md-12 col-sm-6"> 
         <div class="img_wrapper"> 
          <div class="img_container"> 
           <a href="#" onclick="myClick(<?php echo $counter; ?>);" > 
            <img src="http://evidentiraj.me/gkcard/slikemjesta/<?php echo $sve['photo']; ?>" width="800" height="533" class="img-responsive" alt=""> 
            <div class="short_info"> 
             <h3><?php echo $sve['ime2']; ?></h3> 
             <em><?php echo $sve['adresa']; ?></em> 
             <p> 
              <?php echo $sve['opis2']; ?> 
             </p> 
            </div> 
           </a> 
          </div> 
         </div><!-- End img_wrapper --> 
        </div><!-- End col-md-6 --> 
       <?php 
        $counter++; 
       } 
      ?> 

答えて

1

I:私の<a hrefタグにカウンターを追加する 今ではこのようになりますなぜなら入力引数が0に設定されたmyClickの関数を持つa要素をレンダリングし、この引数を関数内のマーカー配列のインデックスとして使用するからです。これは配列の最初のマーカーです。あなたは、このような結果を得るためにa要素をレンダリングする方法を変更する必要があります。

<a href="#" onclick="myClick(0);"></a> 
<a href="#" onclick="myClick(1);"></a> 
<a href="#" onclick="myClick(2);"></a> 
+0

私は知っているが、私は、ユーザーがバックエンドでのいくつかの場所を無効にすることができますので、私はデータベース-1からIDのような何かを傾けるするforeachループを持っていますそれはうまくいかないでしょう。 –

+1

'' php''コードの '' foreach''ループで、カウンタを設定して、 '' a''要素のレンダリング中にそのカウンタを使用できますか? – xxxmatko

+0

は働いていました。私の質問を今すぐ回答で編集します –

関連する問題