Javascript中的PHP循环标题 - 此代码是否有效?

时间:2010-01-21 07:03:17

标签: php javascript google-maps foreach

您好亲爱的StackOverflowers,

我是网络编程的新手,发现服务器 - 客户端混合物令人困惑。 我编写了非常简单的代码,它接受PHP 2D数组[索引] [键](来自查询)只在Google地图上绘制标记(JavaScript)。有用。 但它对我来说不合适! 这确实是将我的PHP数组中的值传递给Javascript函数的正确方法吗?

提前致谢 ARI


再次编辑清晰,添加了4个空格,感谢您的建议!

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title><?php echo $title;?></title

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=GoogleMapsKey"
type="text/javascript">

</script>

<script type="text/javascript"  language="JavaScript">

var m_map;

//Add one marker. 
function addmarker(iLat, iLon)
{ 
 var point = new GLatLng(iLat, iLon);
 m_map.addOverlay(new GMarker(point)); 
}


function initialize() 

{

if (GBrowserIsCompatible()) 
{

    m_map = new GMap2(document.getElementById("map_canvas"));
    m_map.setCenter(new GLatLng(37.4419, -122.1419), 1);
    m_map.setUIToDefault();

    <?php foreach($query as $item):?>

    var oLat = '<?php  echo $item['lat'];?>';
    var oLon = '<?php  echo $item['lon'];?>';

    addmarker(oLat, oLon);  

    <?php endforeach;?>

}
}// End initialize() 

</script>
</head>

<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 300px"   ></div>

4 个答案:

答案 0 :(得分:1)

您的代码似乎没有任何内在错误。你能提供输出吗?

答案 1 :(得分:1)

浏览器不关心值,结构,甚至代码是如何实现的,只要它是有效的JavaScript。

答案 2 :(得分:1)

我写道:

<?php foreach($query as $item):?>

addmarker('<?php echo $item['lat'];?>', '<?php echo $item['lon'];?>');  

<?php endforeach;?>

因为它更简洁,并且不会多次声明两个JS变量。

答案 3 :(得分:1)

<?php 
foreach($query as $item):?>

    var oLat = '<?php  echo $item['lat'];?>';
    var oLon = '<?php  echo $item['lon'];?>';

    addmarker(oLat, oLon);  

    <?php endforeach;?>

如果您将$ query变量设置为,则上面的代码段应提供以下输出     $查询=阵列(阵列( 'LAT'=大于2, 'LON'= 1→4),阵列( 'LAT'=大于5, 'LON'=→6),阵列( 'LAT'=&GT 7, 'LON'=&GT; 8),阵列( 'LAT'=&GT; 9, 'LON'=→1));


var oLat ='2'; var oLon ='4';

addmarker(oLat,oLon);

var oLat ='5'; var oLon ='6';

addmarker(oLat,oLon);

var oLat ='7'; var oLon ='8';

addmarker(oLat,oLon);

var oLat ='9'; var oLon ='1';

addmarker(oLat,oLon);

检查你的网页html来源。