我如何保存谷歌地图v3圆形和矩形叠加在数据库中没有错误
How do I save Google maps v3 circle and rectangle overlays in database without error?
我使用JSON方法将Google覆盖保存在数据库中。例如,我通过以下代码在数据库中保存一个圆:
var shape_properties;
shape_properties.center = array_shapes_object[counter].center;
shape_properties.redius = array_shapes_object[counter].radius;
shape_properties.type = array_shapes_object[counter].type;
shape_properties.zIndex = array_shapes_object[counter].zIndex;
shape_properties.fillColor = array_shapes_object[counter].get('fillColor');
shape_properties.name = array_shapes_object[counter].name;
array_shapes_string.push(JSON.stringify(shape_properties));
我有一个名为shape_properties的变量,我保存所有的圆圈属性,然后通过使用JSON.stringify(shape_properties)
将其更改为字符串,最后将此字符串保存到数据库。
当我想在地图上画这个圆时,我使用类似的方法。我的意思是,从数据库中读取包含圆圈属性的字符串然后使用JSON.parse(array_shapes_string[counter])
将其更改为对象最后使用以下代码绘制它:
newShape = new google.maps.Circle({
center:new google.maps.LatLng(array_shapes_object[counter].center.d, array_shapes_object[counter].center.e),
radius:array_shapes_object[counter].redius,
zIndex:array_shapes_object[counter].zIndex,
fillColor:array_shapes_object[counter].fillColor,
fillOpacity: 0.15,
strokeColor: '#FF0000',
strokeWeight: 1
});
一切都还好。但是我有一个大问题。看这一行:
center:new google.maps.LatLng(array_shapes_object[counter].center.d, array_shapes_object[counter].center.e),
这是包含经度和纬度的圆心,它像这样保存在数据库中:
"中心":{""k":32.9372338139709:50.91888427734375}
所有属性都保存在数据库中,如下所示:
{"用户":"user1,","中心":{""k":32.9372338139709:50.91888427734375},"半径":25644.7738046513,"类型":"圆","zIndex":2,"fillColor":"# FF0000"、"名称":"圆"}
我的问题是:有时圆心通过k和A保存在数据库中,如:"中心":{"k":32.9372338139709,":50.91888427734375}
但有时它会保存d和e,而不是k和A,就像这样:"中心":{"e","d":32.9372338139709:50.91888427734375}
当我读它画圆的时候它会显示一个错误。我确信这个问题与谷歌地图v3有关,似乎他们有时会改变变量的名称。我该怎么修理它?
您不能存储这些属性,这些属性的名称(代表google.maps
-class-instance,如LatLng
或LatLngBounds
)不一致。
你需要自己的格式/方法来存储&恢复这些数据(通过API提供的方法获取,例如,LatLng的lat()
和lng()
)
参见如何保存谷歌地图覆盖形状在数据库中?对于一个可能的解决方案
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 使用javascript从数据库中添加表
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 如何使用 Angular JS 将数据保存在数据库中
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 在谷歌地图上绘制位置数据库
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将地理编码结果转换为php变量以发布到mysql数据库
- 从数据库中检索字段,而不模拟它们
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 在cordova android应用程序中连接数据库
- 根据条件检查数据库结果
- Jquery(多读/少读)在从数据库加载整个数据后不起作用
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 我如何保存谷歌地图v3圆形和矩形叠加在数据库中没有错误