我是一个OpenLayers网络应用程序。我绘制多边形后生成wkt格式的函数。
function generateWkt() {
var featureWkt, modifiedWkt;
var unionFeatures = [];
layer.getSource().forEachFeature(function(f) {
var featureClone = f.clone();
featureWkt = wkt.writeFeature(featureClone);
if(featureWkt.match(/MULTIPOLYGON/g)) {
modifiedWkt = (featureWkt.replace(/MULTIPOLYGON/g, '')).slice(1, -1);
} else {
modifiedWkt = (featureWkt.replace(/,/g, ', ')).replace(/POLYGON/g, '');
}
unionFeatures.push(modifiedWkt);
});
layer.getSource().getFeatures().length ? $('#wkt').text('MULTIPOLYGON(' + unionFeatures + ')') : $('#wkt').text('');
}
我想使用按钮将数据wkt(unionFeatures)发送到数据库(phpmyadmin),然后在刷新页面后,使用第二个按钮将数据加载到多边形中并在地图上显示它们。 / p>
如何修改此代码以及放入php文件的内容?
$('#postJson').click(function(){
$.post('post_receiver.php', { ??? }, function(data){
$('#response').html(data);
}).fail(function() {
alert( "Posting failed." );
});
return false;
});
请一步一步帮助
答案 0 :(得分:0)
保存数据:
//javascript code
//Send the json object to php file to save to db
$.ajax({
type: 'post',
dataType: "json",
data:JSON.stringify(unionFeatures),
url: "http://localhost/post_receiver.php",
success: function (data) {
alert("data sent");
}
});
在post_receiver.php
中$data = json_decode(trim(file_get_contents('php://input')), true);
//Save the $data to db using your logic. You may have to separate
//multiple geometries WKT and insert separately.
//***Saving logic ****
将数据显示回地图:
在getData.php中
//Retrieve data as a string through SQL query from db tables.
从javascript调用按钮单击功能以在地图上显示几何图形
function showGeometriesOnMap(){
$.ajax({
type: 'get',
dataType: "json",
url: "http://localhost/getData.php",
success: function (data) {
var retrievedData = JSON.parse(data);
//Display on map logic here
//See https://openlayers.org/en/latest/examples/wkt.html to
//show on map from WKT
}
});
}