我是javascript的新手所以,在这个example中存在geometrycontrols.js(用于全局控件)和markercontrol.js(用于标记控件)
我的问题是识别保存“数据”的数组......
在参考我看到一个savedata函数,但我不知道如何使用这个函数...
另一方面,在test.html中如果我在Glog启动时输出并输出“数据”,让我想到来自数组...
我的目标是将坐标和其他所有属性保存到mysql数据库,当我发现“数据”在哪里时很容易。
如果有人使用这个例子(或不是)可以帮助我,我很感激
ps:我真是javascript的新手:P
EDIT1:
我出去了一段时间,现在我专注于geometrycontrols.js:GeometryControls.prototype.saveData = function(opts){
var me = this;
if(opts.allData === true){
//me.saveAllData();
} else {
//construct a json data record
var geomInfo = opts.geomInfo, index = opts.geomInfo.index;
var record = geomInfo.storage[index];
var recordJSON = {};
recordJSON.type = record.type;
recordJSON.coordinates = [];
//determine geometry type, and copy geometry appropriately
if(record.type === "point"){
recordJSON.coordinates.push({lat:record.geometry.getLatLng().lat(),lng:record.geometry.getLatLng().lng()});
alert(recordJSON.coordinates);
} else {
alert("is not point");
var vertex;
for(var i=0;i<record.geometry.getVertexCount();i++){
vertex = record.geometry.getVertex(i);
recordJSON.coordinates.push({lat:vertex.lat(),lng:vertex.lng()});
}
}
//add title and description
recordJSON.title = record.title[0];
recordJSON.description = record.description[0];
//TODO add styles
recordJSON.style = ""; //TODO} //TODO Make separate prototype function?function postData(data){
//TODO
me.debug(data);
//alert(recordJSON.coordinates);
//alert(data);
};postData(me.serialize(recordJSON));}; `
当我发出警报(recordJSON.coordinates)时,outupt是[object Object]并且我不知道为什么,理论上这个数组包含坐标......
答案 0 :(得分:1)
这是我用来将数据发送到MySQL的一些代码。它使用一点点jQuery来做ajax魔术(以dollarign开头的行是jQuery)。
function postData(data){
me.debug(data);
var dataString = JSON.stringify(data);
me.debug(dataString);
$.post('storage.php', { data: dataString });
};
postData(recordJSON);
正如您所看到的,我已经修改了'recordJSON'对象被发送到postData函数的方式:我已经删除了序列函数。
接下来,创建一个PHP文件(在我的例子中称为“storage.php”)并将其放入其中:
<?php
$received = json_decode($_POST['data'], true);
echo "just received " . $received['name'];
?>
你现在有一个PHP数组可以随意使用。
在上面的示例代码中,我稍微修改了jQuery post函数,所以如果它不起作用,请查看。
答案 1 :(得分:0)
数据以JSON格式存储在此文件中:http://gmaps-utility-library-dev.googlecode.com/svn/trunk/geometrycontrols/examples/data/testdata.js - 它几乎是自我记录的,只需按照示例设置您的坐标。
请注意,如果您需要查找给定地址的纬度和经度,这是一个不错的网站:http://itouchmap.com/latlong.html