如何将多边形的坐标存储在从 Google 地图获取的 php MySQL 中
How to store the coordinates of a polygon in php MySQL fetched from Google Map
<?php $servername = "localhost";
$username = "root";
$password = "";
$db = "users";
$mysqli = new mysqli($servername, $username, $password, $db);
// SET @g = 'POLYGON($_POST[coords])';
$coords = $_POST['coords'];
//$stmt = "INSERT INTO polygon_data (polygon_values) VALUES (PolygonFromText('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))'))";
$stmt = "INSERT INTO polygon_data (polygon_values) VALUES (PolygonFromText('$coords'))";
if ($mysqli->query($stmt) === TRUE) {
echo "feedback sucessfully submitted";
} else {
echo "Error: " . $stmt . "<br>" . $mysqli->error;
}
$mysqli->close();
?>
当我在注释行中插入静态值时,数据成功存储在 MySql 中,我在 mysql 中的属性 pollygon_values
也是多边形数据类型。
代码很好,但我们需要注意,首先要注意的是,您在 MySQL 上 select 的数据类型是几何或多边形 第二件事你 应该检查你从 Google 得到的多边形的坐标值是准确的 意味着它们的纬度和经度值是正确的并且存在,那是我的问题,我没有在 Google 地图上绘制正确的多边形坐标。
<?php $servername = "localhost";
$username = "root";
$password = "";
$db = "users";
$mysqli = new mysqli($servername, $username, $password, $db);
// SET @g = 'POLYGON($_POST[coords])';
$coords = $_POST['coords'];
//$stmt = "INSERT INTO polygon_data (polygon_values) VALUES (PolygonFromText('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))'))";
$stmt = "INSERT INTO polygon_data (polygon_values) VALUES (PolygonFromText('$coords'))";
if ($mysqli->query($stmt) === TRUE) {
echo "feedback sucessfully submitted";
} else {
echo "Error: " . $stmt . "<br>" . $mysqli->error;
}
$mysqli->close();
?>
当我在注释行中插入静态值时,数据成功存储在 MySql 中,我在 mysql 中的属性 pollygon_values
也是多边形数据类型。
代码很好,但我们需要注意,首先要注意的是,您在 MySQL 上 select 的数据类型是几何或多边形 第二件事你 应该检查你从 Google 得到的多边形的坐标值是准确的 意味着它们的纬度和经度值是正确的并且存在,那是我的问题,我没有在 Google 地图上绘制正确的多边形坐标。