你好,亲爱的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&v=2&sensor=false&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源。