所有, 我有下面的代码位:使用PHP来填充JavaScript数组
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数据库,其中包含纬度/长度坐标以及其他一些值。假设我有三个我想创建标记的条目。我如何将我从数据库获得的lat/long的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"}
哪些是我的数组中的正确坐标。虽然没有创建标记。关于下一步做什么或我做错什么的想法?
我有一个循环,也显示在我的网页上的东西。我会发送各种坐标。我需要将变量传递给像addPoints(<?php echo $ i;?>,<?php echo $ lattitude;?>,<?php echo $ longitude;?>,icon0,'Place')的addpoints函数, '打开内容')? – user1048676
我想我会看到你要去的地方,但在给你长答案之前让我问一下:1)当用户与地图交互时,你需要能够传递新的坐标。那是对的吗? 2)我想你希望能够在需要时从服务器获取坐标,而不是在第一次下载页面时加载所有可能的坐标。那是对的吗? – Ian
所以我的场景是说我正在加载餐厅,并有10个。我试图传递每个人的经纬度来创建标记。然后用户可能会选择酒吧,然后我将不得不通过15坐标等我试图从PHP脚本内做到这一点,因为我正在做其他东西与邮政编码等 – user1048676