我指的是Polygon“Drawing and Getting Coordinates with Google Map API v3”的问题和jhawes的代码,它的工作正常;但我很难使用php将lat / lng值发布到DB。 在其他具有单一坐标的脚本中,我使用以下内容(而变量“BlattNr,Quadrant,MTBlat,MTBlng,Qmlat,Qmlng”对该问题不感兴趣):
function saveData(BlattNr, Quadrant, MTBlat, MTBlng, Qmlat, Qmlng) {
var latlng = marker.getPosition();
window.location.href = "schritt_2.php?lat=" + latlng.lat() +
"&lng=" + latlng.lng() + "&MTBNr=" + BlattNr + "&Quadrant=" + Quadrant + "&MTBlat=" + MTBlat + "&MTBlng=" + MTBlng + "&Qmlat=" + Qmlat + "&Qmlng=" + Qmlng;
marker.setMap(null);
}
有了这个我可以发布单点坐标的lat和lng - 但是如何传递各个点的多个lat和lng?我不知道如何定义变量以及如何构造“saveData”函数... 非常感谢您的任何帮助: - )
答案 0 :(得分:0)
好的,我复制/粘贴了jhawes在jsFiddle中放入的代码
我添加了一些东西 添加jQuery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Save_data
function save_data() {
var data = [];
var len = myPolygon.getPath().getLength();
for (var i = 0; i < len; i++) {
data.push([myPolygon.getPath().getAt(i).lat(), myPolygon.getPath().getAt(i).lng()]);
}
// send data to the server
$.ajax({
url: 'save.php?p=' + JSON.stringify(data),
success: function (message) {
$('#ajaxresponse').html(message);
}
});
}
按钮和显示div。把它们放在标记的底部。
<input type="button" onclick="save_data()" value="SAVE">
<div id="ajaxresponse"></div>
服务器端:我在这里做的不多;我相信你能处理它。
save.php
<?php
if (isset($_GET['p'])) {
$locations = json_decode($_GET['p'], true);
echo print_r($locations, true) . '<br>';
echo "let's print the second point: lat=" . $locations[1][0] . ", lng=" . $locations[1][0];
}
?>