gmaps.js从PHP数组添加标记

时间:2015-12-26 23:36:22

标签: php jquery gmaps.js

我正在尝试为我的gmaps.js地图添加标记。很久了。和拉特。值存储在数据库中,我使用PHP脚本选择。

一旦获得,两者都很长。和拉特。值存储在变量$ data。

下的数组中

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

我现在尝试使用$ .each循环将json_encode回显到jQuery函数中,但是它不成功,因为数据库检索的每个条目都不会有标记。

获得ID的最佳解决方案是什么?和拉特。最多10条记录的值,将其传递给jQuery函数以定位在地图上?

1 个答案:

答案 0 :(得分:0)

由于并非所有记录都有标记,因此您必须解析结果,以便只将所需数据传递给您的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; ?>"/>

在你的js函数中

var markersdata = $('#markersjson').val();

您可能需要将此值解析为对象

var obj = jQuery.parseJSON(markersdata);

然后使用$ .each循环浏览你的obj