0

有没有一种快速的方法来选择 ImageMapster 地图的状态并保存到数据库,然后检索它并显示保存的地图。

例如:我想将几个状态编码为红色和一些绿色(我现在正在工作),然后使用 jQuery ajax 保存在数据库中。然后稍后返回地图并从数据库中恢复选定的颜色。

我只需要知道如何获取 (key, fillColor) 并恢复它,我就可以处理 php 和 mysql 的东西。

目前我使用:

key = $('#mapimg').mapster('get');

获取所有键,但我还需要填充颜色。

谢谢,罗伯特坎贝尔

4

1 回答 1

0

目前没有直接的方法可以查询 ImageMapster 中特定区域的活动渲染选项。据推测,您在某个时候分配了它们,所以我会在插件之外跟踪它们。例如,抽象您用来分配红色或蓝色状态的代码。

var stateData = {}, image = $('#my-image')

// color: the color to render the area
// selected: true or false

function setState(selected, key, color) {
    stateData[key] = fillColor;
    image.mapster('set',selected,key, {fillColor: color } );
}

然后使用该功能选择/取消选择区域,而不是直接调用 mapster。现在当你去保存数据时,你可以从你的参考中查找颜色:

var activeKeys = image.mapster('get');   // returns a comma-separated list
var activeStates = [];
for(var key in activeKeys.split(',')) {
   activeStates.push({
      state: key,
      color: stateData[key]
   });
}

// now activeStates is an array of objects, one for each selected area, 
// containing the area key and the color. Save this info to your db.

.. 或类似的东西。

于 2012-09-18T16:23:10.483 回答