我正在尝试使用 JSON 通过 Ajax 将谷歌地图选项对象保存到 MySQL 数据库,然后再次提取数据并将其解析回谷歌地图选项对象。我试图保存的基本选项似乎可以很好地保存和调用,除了 center 属性。我明白了
错误:属性值无效:[object Object]
这是原始选项对象的控制台转储的屏幕截图,后面是相同的数据,编码为 JSON,保存到数据库,再次从数据库中提取并解析回 JS 对象:
http://mcserver.gold.ac.uk/temp/gmapoptssave.png
(对不起,我是新手,不能在这里发图片)
我正在使用 json-jquery 插件的 jQuery.toJSON 函数将选项对象转换为 JSON,然后再通过 ajax 发送。在将数据发送回我的 JS 脚本之前,我正在使用 PHPs encode_json() 函数。
谁能告诉我我还应该做什么,或者我应该做些什么来让保存的选项数据恢复正常工作?我已经设法解决了这个问题
if(savedopts != '') mapopts = jQuery.parseJSON(savedopts);
// This is a hack- should be able to use the parsed JSON object for center directly
mapopts['center'] = new google.maps.LatLng(mapopts.center.$a, mapopts.center.ab);
但显然它并不优雅,我希望将来也能够保存其他类型的选项数据。
非常感谢任何提示,
干杯,
a|x