你好,亲爱的StackOverflowers,

我是Web编程的新手,并且发现服务器-客户端混合令人困惑。
我编写了非常简单的代码,该代码接受一个PHP 2D数组[index] [keys](来自查询),仅在Google地图(JavaScript)上绘制标记。有用。
但这对我来说并不正确!
这确实是将值从我的PHP数组传递到Javascript函数的正确方法吗?

提前致谢
有里



再次进行编辑以保持清晰度,添加了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>

最佳答案

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

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

    addmarker(oLat, oLon);

    <?php endforeach;?>


如果将$ query变量设置为,则以上代码段应提供以下输出
    $ query = array(array('lat'=> 2,'lon'=> 4),array('lat'=> 5,'lon'=> 6),array('lat'=> 7,'lon '=> 8),array('lat'=> 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源。

10-02 17:56