2012-07-26 56 views
0

我想能夠動態生成每個信息窗口的信息使用PHP的循環我創建由於某些變量的位置[我] [3]所以它​​會動態拉動信息每次通過,我可以簡單地分配它。但由於某種原因,如果我嘗試插入此。代碼生成罰款...在源頁面...但地圖不會加載..有沒有人有這個修復...並幫助使它的工作...多數THX在前進!信息已被動態地拉到一個單獨的腳本中,$ vars只是用來從單個數組中提取信息。地圖標記可以很好地與lats和lng組合在一起,它的位置數組的部分就是時髦的--ps。是的,代碼中的$ vars已經被重新設置爲零。但那在側面腳本。所以它會拉出所有適當的信息。對於[3]字符串 - 地圖只是不會在數組中生成。生成動態信息窗口JavaScript的Google地圖

'<'script type="text/javascript"> 

    //PHP - Lat,Lng ARRAY 
    var locations = [ 

    php code <?php 
    $x = 0; $i = 0; $j = 0; 
    for($aa = 0; $aa < $count; $aa++) { 
    echo "['" . $business_name[$x] . "'," . $lat[$i] . "," . $lng[$j] . "," . "<div class='coupon'><div class='ribbon'><div class='ribbon-stitches-top'></div><strong class='ribbon-content'><h1>$deal[$y]</h1></strong><div class='ribbon-stitches-bottom'></div></div><div class='picture_coupon'><img src='$deal_photo[$b]' width='150' height='100' /></div><div class='deal'><center><h1>$deal[$y]</h1>$deal_info[$a]<b>Expires: $deal_expiration[$c]</b></center></div></div>" . "],"; 
    $x++; $i++; $j++; $id++; 
    } 
    ?> END of PHP CODE 
    [ , , , ] 
    //['Maroubra Beach', -33.950198, 151.259302, 6] 
    ]; 
    //PHP - Lat,Lng ARRAY 
     var map; 

     function initialize() { 
     var myOptions = { 
      zoom: 13, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     map = new google.maps.Map(document.getElementById('map_canvas'), 
      myOptions); 

     // Try HTML5 geolocation 
     if(navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(function(position) { 
      var pos = new google.maps.LatLng(position.coords.latitude, 
              position.coords.longitude); 

// INVERSE CODE PHP DYNAMIC 

    var infowindow = new google.maps.InfoWindow(); 

    var marker, i; 

    var image = '../images/map-icons/blue.png'; 
    for (i = 0; i < locations.length; i++) { 
     marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
     map: map, 
     icon: image 
     }); 

     google.maps.event.addListener(marker, 'click', (function(marker, i) { 
     return function() { 
      infowindow.setContent(locations[i][3]); 
      infowindow.open(map, marker); 
     } 
     })(marker, i)); 
    } 
/* */ 
// INVERSE CODE PHP DYNAMIC 
// GEO LOCATION SET CENTER AND ERROR HANDLING 
      map.setCenter(pos); 
      }, function() { 
      handleNoGeolocation(true); 
      }); 
     } else { 
      // Browser doesn't support Geolocation 
      handleNoGeolocation(false); 
     } 
     } 

     function handleNoGeolocation(errorFlag) { 
     if (errorFlag) { 
      var content = 'Error: The Geolocation service failed.'; 
     } else { 
      var content = 'Error: Your browser doesn\'t support geolocation.'; 
     } 
// GEO LOCATION SET CENTER AND ERROR HANDLING  

     } 

    // google.maps.event.addDomListener(window, 'load', initialize); 
    </script> 

回答

0

固定 - 不幸的是回聲「」;函數不允許在內部的任何東西('')來分隔div等。不幸的是,JavaScript不會加載除STANDARD html之外的任何內容。不是PHP的變體。

解決方案是用適當的html標準設置字符串,即代替並使用連接運算符。

例如:

$content = '<div class="coupon"><div class="ribbon"><div class="ribbon-stitches-top"></div><strong class="ribbon-content"><h1>'.$deal[$y].'</h1></strong><div class="ribbon-stitches-bottom"></div></div><div class="picture_coupon"><img src="'.$deal_photo[$b].'" width="150" height="100" /></div><div class="deal"><center><h1>'.$deal[$y].'</h1>'.$deal_info[$a].'<b>Expires: '.$deal_expiration[$c].'</b></center></div></div>'; 

,我分配了到數組循環看起來像這樣

<?php 
$x = 0; $i = 0; $j = 0; $y = 0; $z = 0; $a = 0; $b = 0; $c = 0; 
for($aa = 0; $aa < $count; $aa++) { 
$content = '<div class="coupon"><div class="ribbon"><div class="ribbon-stitches-top"></div><strong class="ribbon-content"><h1>'.$deal[$y].'</h1></strong><div class="ribbon-stitches-bottom"></div></div><div class="picture_coupon"><img src="'.$deal_photo[$b].'" width="150" height="100" /></div><div class="deal"><center><h1>'.$deal[$y].'</h1>'.$deal_info[$a].'<b>Expires: '.$deal_expiration[$c].'</b></center></div></div>'; 

echo "['" . $business_name[$x] . "'," . $lat[$i] . "," . $lng[$j] . "," . "'$content'" . "],"; 
$x++; $i++; $j++; $id++; $y++; $z++; $a++; $b++; $c++; 
} 
?> 

我什麼都不知道的JavaScript的,當涉及到什麼允許goog ...所以得出這樣的結論傷害了我的大腦比我甚至可以想象...