function addPoints() {
newpoints[0] = new Array(41.45998, 87.59643, icon0, 'Place', 'Content to open');
for(var i = 0; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}
在我的地图上,有其他代码用于显示标记。然而,这个值是硬编码的。我有一个包含纬度/经度坐标以及一些其它值的 PHP/mySQL 数据库。假设我有三个条目,我想为它们创建标记。我应该如何将从数据库中获取的纬度/经度传递给 addPoints 函数,以便在这个函数中正确使用?
我更新了我的代码,使 addPoints 函数看起来像下面这样:
function addPoints(num, lat, long) {
newpoints[num] = new Array(lat, long, icon0, 'Place', 'Stuff name');
alert("The newpoints length is: "+newpoints.length);
for(var i = 1; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}
我通过以下方式调用此函数:
<script>
addPoints('<?php echo json_encode($num_coordinates); ?>','<?php echo json_encode($lat_coordinates); ?>', '<?php echo json_encode($long_coordinates); ?>');
</script>
然而它不起作用。当我尝试不将其传递给JavaScript,只是输出纬度坐标时,我得到以下输出:
{"1":"40.59479899","2":"41.4599860"}
我的数组中哪些是正确的坐标?没有创建任何标记。下一步该怎么做或者我做错了什么?