2013-11-21 46 views
0

我正在使用jquery插件来谷歌地图,槽json我正在获取GPS坐标和事件的信息。问题是,当我有2个相同标记(GPS坐标相同),但事件的信息是不同的,例如:谷歌地图jquery插件与JSON,PHP,MySQL覆盖标记

{"markers":[ { "latitude":57.7973333, "longitude":12.0502107, "content":"Representing event 1 10:00-12:00" }, { "latitude":57.7973333, "longitude":12.0502107, "content":"Representing event 2 - 15:00-16:00" } ]}

问题是标志被覆盖时,我得到的信息只对一个事件在一个位置,而不是2个事件,我怎么能得到一个标记与地图上的所有信息,像1个标记与一个信息框,我会有这个信息:

代表事件1 10:00- 12:00

代表活动2 - 15:00-16:00

我现在的代码是这样的 - 我认为这可以用mysql来完成,但不知道如何,有没有办法检查GPS坐标,如果有相同的内容并存储在一个字段???:

$return_arr = array();

$fetch = mysql_query("SELECT title,event,SUBSTRING_INDEX(gps,',',1) as latitude,SUBSTRING_INDEX(gps,',',-1) as longitude,gps FROM termin,event WHERE gps IS NOT NULL AND gps!='' AND event_id_fk=event_id") or die(mysql_error());

while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { $row_array['latitude'] = $row['latitude']; $row_array['longitude'] = $row['longitude']; $row_array['content'] = "<b>".$row['title']."</b><br/>".$row['event'];

array_push($return_arr,$row_array); 

}

echo '{"markers":'.json_encode($return_arr).'}';

我想什么是这样的,一个记录:

“纬度”:57.7973333, “东经”:12.0502107, “内容”:“代表事件1 10:00-12: 00代表事件2 - 15:00-16:00“

或者是否有其他方式来检查它与循环?这将是更好的,我认为,因为比我将能够使用HTML的每一个事件

+0

一个无关的评论,但你应该使用MySQLi或PDO API。 [文档](http://www.php.net/manual/en/mysqlinfo.api.choosing.php) – Simon

+0

是的,我改变了现在 – enigmaticus

回答

0

的答案,因为我知道这是不可能与MySQL来实现它。 在我的项目中,我使用PHP合并记录。

您必须与以前的每个记录进行比较。如果相等 - 不必将新值推向数组。只需将内容数据添加到前一个数组元素。