Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在javascript循环中增加php变量,用于在google地图上绘制多边形_Php_Javascript_Google Maps Api 3 - Fatal编程技术网

Can';t在javascript循环中增加php变量,用于在google地图上绘制多边形

Can';t在javascript循环中增加php变量,用于在google地图上绘制多边形,php,javascript,google-maps-api-3,Php,Javascript,Google Maps Api 3,我有一些问题,我想要的是在谷歌地图上绘制多边形与给定的坐标从数据库,只是为了测试我只画了2个多边形,这是有一个不同的坐标数。这是我的密码 <script> var map; function initialize() { var va = new Array(); for(var i=0;i<2;i++) { va[i] = new Array(); } var x=new google.maps.LatLng(-7.175993,112.6507

我有一些问题,我想要的是在谷歌地图上绘制多边形与给定的坐标从数据库,只是为了测试我只画了2个多边形,这是有一个不同的坐标数。这是我的密码

<script>
var map;

function initialize()
{
   var va = new Array();
   for(var i=0;i<2;i++)
   {
  va[i] = new Array();
   }
var x=new google.maps.LatLng(-7.175993,112.650729);

var count=new Array();
var allcoor=new Array();
var mySplitResult;
//----------Problem May Be Start Right There----------------------------------
<?php
  $indeksline=0;
?>
for(var a=0;a<2;a++)
{
 //To get number of coordinate
 count[a] = "<?php include_once("koneksi.php");
 $sql3="SELECT a.Informasi from asset a LIMIT $indeksline , 1";
 $result3 = mysql_query($sql3);
 $data3 = mysql_fetch_row($result3);
 $pieces = explode("|", $data3[0]);
 $numberOfWords = count(explode("|", $data3[0]));
 echo $numberOfWords;?>";

 //To get Coordinate
 allcoor[a] = "<?php include_once("koneksi.php"); 
 $sql3="SELECT a.Informasi from asset a LIMIT indeksline , 1";
 $result3 = mysql_query($sql3);
 $data3 = mysql_fetch_row($result3);
 echo $data3[0];?>";    

 //Split Coordinate with delimiter |
 mySplitResult = allcoor[a].split("|");
 for (var j=0;j<count[a];j++)
 {
    va[a][j]=new google.maps.LatLng(parseFloat(mySplitResult[j].split(",")[0]),parseFloat(mySplitResult[j].split(",")[1]));
 }

 //Increment $indeksline that use for next polygon
 <?php
   $indeksline = $indeksline+1;
 ?>
}
var mapProp = {
  center:x,
  zoom:19,
  mapTypeId: google.maps.MapTypeId.SATELLITE
 };

map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
for(var i=0;i<2;i++)
{
 var flightPath=new google.maps.Polygon({
 path:va[i],
 strokeColor:"##FF0000",
 strokeOpacity:0.8,
 strokeWeight:3,
 fillColor:"##FF0000",
 fillOpacity:0.35
 });
flightPath.setMap(map); 

var映射;
函数初始化()
{
var va=新数组();
对于(var i=0;i
}
var mapProp={
中心:x,
缩放:19,
mapTypeId:google.maps.mapTypeId.SATELLITE
};
map=new google.maps.map(document.getElementById(“googleMap”),mapProp);

对于(var i=0;iphp,首先在服务器端执行

javascript随后在浏览器上执行,因此不能增加PHP变量。只能使用它


您不应该像这样混合PHP代码和Javascript。取出所有PHP代码,从数据库中读取,获取结果等。然后将您需要的内容传递给Javascript,并将其作为JS变量处理。

您应该像这样拆分代码。在使用Javascript执行任何有意义的操作之前,PHP应该向客户端(浏览器)提供所有数据

php

javascript

//在php中设置javascript变量
多变量数据=
var va=新数组();
对于(a=0;a
<?php
 include_once("koneksi.php");
 $offset=0;
 $limit=2; // you want to show two 
 $sql3="SELECT a.Informasi from asset a LIMIT $offset, $limit";
 $result3 = mysql_query($sql3);
 $data=[];
 while( $dataRow= mysql_fetch_row($result3)){
    $data[]=explode("|", $dataRow);
  }
 ?>
    <script>
     // set javascript variable in php
     var poly_data=<?php echo json_encode($data); ?>
     var va=new Array();

    for(a=0; a< poly_data.length ; a++){
     //no of coordinates
     var mySplitResult=poly_data[a];
     va[a]=new Array();

     //put the reset of code here  
     for (var j=0;j< mySplitResult.length;  j++)
     {

      va[a][j]=new google.maps.LatLng(
            parseFloat(mySplitResult[j].split(",")[0]),
            parseFloat(mySplitResult[j].split(",")[1])
            );
     }

 }

  //your reset of code

 </script>