gmaps.js从PHP数组添加标记

gmaps.js从PHP数组添加标记,php,jquery,gmaps.js,Php,Jquery,Gmaps.js,我正在尝试向我的gmaps.js地图添加一个标记。长的。和lat.值存储在数据库中,我使用PHP脚本选择该数据库 一旦抓到了,两个都很长。和lat.值存储在数组中的变量$data下 我想使用json_encode($data);然而,为了传递变量,我不得不将标题更改为json应用程序,我已经在页面上回送了一些PHP,因此这是不可行的 我现在已经尝试使用$将json_编码回显到jQuery函数中。但是,每个循环都没有成功,因为不是数据库检索到的每个条目都有标记 什么是最好的解决方案,获取ID,lo

我正在尝试向我的gmaps.js地图添加一个标记。长的。和lat.值存储在数据库中,我使用PHP脚本选择该数据库

一旦抓到了,两个都很长。和lat.值存储在数组中的变量$data下

我想使用json_encode($data);然而,为了传递变量,我不得不将标题更改为json应用程序,我已经在页面上回送了一些PHP,因此这是不可行的

我现在已经尝试使用$将json_编码回显到jQuery函数中。但是,每个循环都没有成功,因为不是数据库检索到的每个条目都有标记


什么是最好的解决方案,获取ID,long。对于最多10条记录,将其传递给jQuery函数以在地图上定位

由于并非所有记录都有标记,因此您必须解析结果,以便只将所需的数据传递给js函数。我会创建一个php数组,并添加我想要的标记、lat、long等。。。在同一个键下:

$markersarray = array ()
foreach($records as $record){

  if($record['lat'] != ““){
    $markersarray[] = array(
         'id'=>$record['id'], 
         'lat'=>$record['lat'],
         'long'=>$record['long']
    );
  }
}

$markersjson = json_encode($markersarray);
然后,您可以使用一个隐藏的输入来存储编码的json字符串,然后可以将该字符串传递到您的js中

 <input id="markersjson" type="hidden" value="<?php echo $markersjson; ?>"/>
您可能需要将此值解析为对象

var obj = jQuery.parseJSON(markersdata);

然后使用$。each循环通过obj

使用ajax获取标记,或者在页面出现堆栈溢出时将其分配为js变量。为了清晰起见,我调整了你的帖子。如果您将当前的工作发布给其他人进行检查,可能会有所帮助。
var obj = jQuery.parseJSON(markersdata);