【发布时间】:2015-06-02 17:50:30
【问题描述】:
我正在编写一个 Google 地图应用程序,用户可以通过在 InfoWindow 中填写表单然后单击 submit 按钮将数据保存到 MySQL 数据库来单击他们想要保存标记的位置。
我在这里的意思的图片:
我不知道如何从event.latLng 中检索lat 和lng 值,然后将它们用作我的addLocation 表单操作的一部分。
包含addLocation 表单动作的JavaScript:
function placeMarker(location) {
var latLng = event.latLng;
// don't know how to retrieve lat & lng from latLng?
var contentString = '<form action="addlocation" method="POST">' +
'<div id="addMarkerInfoWindow">' +
'<b>Name:</b> <input type="text" name="name"><br>' +
'<b>Facilities:</b> <input type="text" name="facilities"><br>' +
'<b>Opening Hours:</b> <input type="text" name="opening"><br>' +
'<b>Notes:</b> <input type="text" name="notes"><br></div>' +
'<br><br><input type="submit" value="Submit"> ' +
'<input type="button" value="Cancel" /></form>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: location,
map: map
});
infowindow.open(map,marker);
}
这是我的 php 代码:
(注意:我是php新手)
<?php
require("db_info.php");
// Opens a connection to a MySQL server
$connection = mysqli_connect('localhost', $username);
if (!$connection) {
die('Not connected : ' . mysqli_error());
}
// Set the active MySQL database
$db_selected = mysqli_select_db($connection, $database);
if (!$db_selected) {
die('Can\'t use db : ' . mysqli_error());
}
################ Save location #################
if($_POST) //run only if there's a post data
{
// make sure ajax request
$xhr = $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
if (!$xhr) {
header('HTTP/1.1 500 Error: Request must come from Ajax!');
exit();
}
// inserting data order
$order = "INSERT INTO markers (name, facilities, opening, lat, lng, notes)
VALUES ('$name', '$facilities', $opening, '$lat', '$lng', '$notes')";
// declare in the order variable
$result = mysql_query($order); //order executes
if($result) {
echo("<br>Input data is succeed");
} else {
echo("<br>Input data is fail");
}
}
?>
【问题讨论】:
-
@geocodezip 没看到第二个链接,谢谢
标签: php mysql google-maps google-maps-api-3