无法获取纬度和经度数据

时间:2013-04-11 09:34:57

标签: php mysql latitude-longitude

我有点奇怪的问题。 我在我的PHP中获取经度和纬度。 演示纬度和经度都是这样的

Latitude 20º 24.002' N

Longitude 87º 18.135' W

问题是由于º未检索到数据。如何使用º获取纬度?

这是我的查询

$sql = "select * from tbl_site where sit_id =".$_GET[id];

获取数据后,我有这个数组: -

{"item":{"sit_id":"3","sit_title":"title","sit_image":"img2.jpg","sit_zon_id":"1‌​","sit_access":"Boat","sit_rating":"5","sit_experience":"all divers","sit_latitude":null,"sit_longitude":null}}

从数据库获取并解析为JSON的代码:

$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare($sql);
$stmt->bindParam("id", $_GET[id]);
$stmt->execute();
$employee = $stmt->fetchObject(); $dbh = null;
echo '{"item":'. json_encode($employee) .'}';

2 个答案:

答案 0 :(得分:3)

首先utf8_encode您的PHP代码,而不是尝试用java脚本或字符串替换解码

答案 1 :(得分:-2)

在这种情况下,您可以使用GEOMETRY spatial extention来存储lat,long。

要在地图上存储一个点,您可以使用POINT(long,lat)

并且,将您的纬度,经度从度数转换为十进制。

所以,你的每一点都应该是这样的:

POINT(20.xxxx, 87.xxxx);