[英]google maps API - “toGeoJson” returns object with geometry null
[英]Posting toGEOJSON Google maps data to a json file on my remote server
作為編程新手,我已經堅持了幾天。 我已經從該站點和其他站點研究了下面的所有代碼,以成功解決該問題。
我可以使用以下命令從服務器上的json文件成功將數據加載到Google Maps:
map.data.loadGeoJson('http://www.h...........com/geojson/164_surveydata.json');
map.data.setStyle({
editable: false,
draggable: false,
strokeWeight: 2,
strokeColor: '#686868',
});
然后,我可以編輯折線,將節點移動到新位置。
然后,我嘗試使用面板按鈕onclick函數保存編輯后的地圖數據層:
function saveData() {
map.data.setStyle({
editable: false,
strokeWeight: 2,
strokeColor: '#686868',
});
map.data.toGeoJson(function(data) {
var jsonData = JSON.Stringify(data);
});
$.ajax({
method: 'POST',
url: 'http://www.h..........com/savegeojson.php',
data: {'data' : jsonData},
success: function(response){
alert( response );
},
error: function (response) {
alert('error'+ response);
}
});
}
我使用成功將數據發布到服務器上SQL數據庫的相同php要求,因此假設我可以執行相同的操作來訪問同一服務器上的文件。 我的PHP文件如下:
<?php
require __DIR__ . "/getdb.php";
if (!mysql_connect($db_host, $db_user, $db_pwd))
die("Can't connect to database");
if (!mysql_select_db($database))
die("Can't select database");
$json = json_decode($_POST['data'],true);
if (json_decode($json) != null) { /* sanity check */
$file = fopen('http://www.h.....com/geojson/164_surveydata.json','w+');
fwrite($file, $json);
fclose($file);
} else {
// handle error
}
?>
這個想法是將json文件加載到Google地圖中,編輯折線等,然后將數據保存回相同的json文件中。
任何幫助是極大的贊賞。 另外,關於在哪里放置errorhandlers(?)的任何技巧也很棒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.