0

location [i] [3]の特定の変数のために作成した、php forループを使用して各情報ウィンドウの情報を動的に生成できるようにしたいので、各パスの情報を動的にプルして、簡単に割り当てることができます。しかし、何らかの理由でこれを挿入しようとすると。コードは正常に生成されます...ソースページに...しかしマップはロードされません..誰かがこれを修正します...そしてそれを機能させるのを助けるために...事前にたくさんのTHX!! 情報は別のスクリプトで動的にプルされています。$varsは、個々の配列から情報をプルするためのカウントに使用されます。マップマーカーは、latsとlngで正常に生成され、ロケーション配列の[i][3]部分はファンキーで--psです。はい、コードの$varsは再びゼロに設定されています。しかし、それはサイドスクリプトにあります。したがって、すべての適切な情報を取得します。

'<'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>
4

1 に答える 1

0

修正済み -- 残念ながらエコー ""; 関数は、div などを区切るために ('') 以外は何も許可しません。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++;
}
?>

goog を許可することになると、javascript について何も知らない....だから、その結論に達すると、想像以上に私の脳が傷ついた...

于 2012-07-26T20:38:06.827 に答える