问题遇到的现象和发生背景
如题,PHP在地图上根据mysql中的经纬度及地点名称显示标注位置,参考了以下代码但是不能实现;
用代码块功能插入代码,请勿粘贴截图
参考了:
https://blog.csdn.net/x541211190/article/details/62890206 ,代码修改如下:
<?php
/**
* 数据库配置信息
*/
$db_config = array(
'host' => "localhost",
'user' => "root",
'password' => "root",
'database' => "map"
);
/**
* flush outputbuffer并将其输出到客户端,可实现即时输出
* @param unknown_type $str
*/
function qk_echo($str) {
echo $str;
ob_flush();//刷新缓存
flush();
}
/**
* Helper 类,用于接收http请求并对外提供服务
*/
class Helper{
private $db_config;
public function __construct($db_config){
$this->db_config=$db_config;
}
/**
* 对外提供api接口
* @param method api名称
*/
public function do_api(){
$method=$_GET['method'];
$result="";
switch ($method) {
case 'get_trj':
# code...
$result=$this->get_trj();
break;
default:
# code...
break;
}
qk_echo($result); //Response
}
/**
* 获取轨迹信息,以字符串的形式返回
*/
public function get_trj(){
//初始化数据库连接
$conn=mysqli_connect($this->db_config['host'], $this->db_config['user'],$this->db_config['password']);
//选择数据库
@mysqli_select_db($conn,$this->db_config['database']);
//$table_name="trajectory";
//$table_name="ap_max";
$table_name="tablename";
$sql="SELECT id, lon, lat, name FROM tablename "
// 执行sql查询
$rs=mysqli_query($conn,$sql);
if (!$rs) {
printf("Error: %s\n", mysqli_error($conn));
exit();
}
$result=array();
while($row=mysqli_fetch_row($rs)){
//加入经纬度信息
//echo $row[1];
$result[]=array($row[1],$row[2],$row[3],$row[4],$row[5],$row[6]);
//$result[]=array($row[1],$row[2],$row[3],$row[4]);
}
//关闭数据集
@mysqli_close($rs);
//返回结果
return json_encode($result);
}
}
/*
//测试连接数据库用,debug时,连接成功后,注释掉
$link=mysqli_connect("localhost","root","root");
if(!$link) echo "连接错误,数据库host或用户名或密码不对";
else echo "连接成功";
*/
$helper=new Helper($db_config);
$helper->do_api();
$helper->get_trj();
运行结果及报错内容
查询结果大概有400个,尝试后没有结果,且地图也没有放大缩小的控制;
我想要达到的结果
地图上根据mysql查询的经纬度及名称结果显示 标注的点