Javascript 发布toGEOJSON Google将数据映射到我的远程服务器上的json文件
作为一名编程新手,我已经在这方面停留了几天。下面的所有代码我都从这个网站和其他网站上研究过,以解决这个问题,但都没有成功 我可以通过以下方式将数据从服务器上的json文件成功加载到Google Maps上:Javascript 发布toGEOJSON Google将数据映射到我的远程服务器上的json文件,javascript,php,json,google-maps,Javascript,Php,Json,Google Maps,作为一名编程新手,我已经在这方面停留了几天。下面的所有代码我都从这个网站和其他网站上研究过,以解决这个问题,但都没有成功 我可以通过以下方式将数据从服务器上的json文件成功加载到Google Maps上: map.data.loadGeoJson('http://www.h...........com/geojson/164_surveydata.json'); map.data.setStyle({ editable: false, draggable: false,
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文件加载到GoogleMaps中,编辑多段线等,然后将数据保存回同一个json文件
非常感谢您的帮助。此外,关于在何处放置ErrorHandler(?)的任何提示也将非常棒。要简化操作,只需删除json文件并将其放入数据库即可。使用php代码创建一个json格式的字符串,该字符串保存每个多段线的坐标 以下是的可编辑节点的示例。 有关保存多段线路径的信息,请参考此。 至于错误处理,您可以在从数据库中获取坐标、在地图中绘制多段线以及最后在数据库中保存坐标时使用此选项 这样做的原因如下:
- 您将上载到服务器的文件将减少
- 文件依赖关系
- 您将上载到服务器的文件将减少
- 文件依赖关系