Javascript 谷歌地图-保存动态地图

Javascript 谷歌地图-保存动态地图,javascript,google-maps-api-3,google-maps-markers,Javascript,Google Maps Api 3,Google Maps Markers,我正在尝试使用最新的谷歌地图API创建动态地图。到目前为止一切进展顺利。我当然有一个问题: 我/你将如何保存我的当前地图? 假设您构建了一个带有动态标记的映射:因为一切都是通过JavaScript完成的,所以我需要从文件/数据库中获取/设置这些值 我曾考虑将整个google.map.Markers输出为JSON,并将其作为字符串发送到数据库,但如果我有大约100个位置,我不确定它会有多好,我担心效率 这是唯一的方法吗?我的想法正确吗?基本上,你的网站用户可以在地图上放置一个标记,当然这需要得到确

我正在尝试使用最新的谷歌地图API创建动态地图。到目前为止一切进展顺利。我当然有一个问题:

我/你将如何保存我的当前地图? 假设您构建了一个带有动态标记的映射:因为一切都是通过JavaScript完成的,所以我需要从文件/数据库中获取/设置这些值

我曾考虑将整个google.map.Markers输出为JSON,并将其作为字符串发送到数据库,但如果我有大约100个位置,我不确定它会有多好,我担心效率

这是唯一的方法吗?我的想法正确吗?基本上,你的网站用户可以在地图上放置一个标记,当然这需要得到确认。一旦确认,该标记必须在地图的最新“版本”中,因此我必须从数据库/文件中获取该信息


提前谢谢

我正在创建类似的应用程序,并通过以下方式实现:

我有一个
Marker
表,其中有我在标记中使用的每个属性的列(例如纬度、经度、名称、描述、类型等),当有人添加标记时,我只是将标记的属性保存到数据库中。下次我想显示标记时,我只是从数据库中获取属性,将它们编码为JSON并附加到页面上。在页面内部,我有一个JS,它获取这些属性并在地图中创建标记。伪代码:

//this is generated dynamically from DB.
var markers = [
                {lat:115416,lng:26411},
                {lat:115416,lng:26411}
              ];

//this is static, just grabs the dynamic bit and puts it on the map:
for (var i = 0; i < markers.length; i++){
   //creates a marker object
   var marker = new Marker({lat:markers[i].lat, lng:markers[i].lng })
   //displays it on the map
   map.addMarker(marker);
}
//这是从DB动态生成的。
变量标记=[
{lat:115416,lng:26411},
{拉丁美洲:115416,液化天然气:26411}
];
//这是静态的,只需抓住动态位并将其放在地图上:
对于(var i=0;i

这样做的好处是,数据库中的数据独立于地图实现,例如,如果将来您决定移动到apple maps,并且它有不同的实现,您可以编写不同的JS来处理数据。此外,您还可以通过它进行查询,例如,您可以通过查看lat和LAG等来查询距离较近的位置

谢谢你的回复,瓦伦蒂娜。我的发展远远落后,但你的洞察力符合我的期望。尽管将标记选项保留为db中的列是个好主意,而不是直接转储JSON对象。谢谢你的提示。只有一件事,如何创建markers对象?您是否使用动态javascript文件,如?还是你在使用AJAX?@Tobias我只是在页面上直接添加JSON,类似这样:(伪代码)。我的应用程序在PageApp上,所以每次加载pageload时,我都会返回JS变量中的标记数据。在你的情况下可能会有所不同,但实际上没有什么不同。如果您有很多标记,您可能希望使用AJAX成批加载它们,如果您的标记很少,您可以通过直接将它们附加到页面或链接,感谢您费心处理要点。我想我将使用从数据库中获取所有标记并转储到标记对象的标准实现。