所有,我有以下代码:
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"}
哪些是我的数组中的正确坐标。但是没有创建标记。关于下一步做什么或我做错了什么的任何想法?