ImageMapster PHP сохранить и восстановить из базы данных

Существует ли быстрый способ выбора состояния карты ImageMapster и сохранения в базе данных, а затем его извлечения и отображения сохраненной карты.

Например: я хотел бы раскрасить несколько состояний красным и зеленым (что у меня сейчас работает), а затем сохранить их в базе данных, используя jQuery ajax. Затем позже вернитесь на карту и восстановите выбранные цвета из базы данных.

Все, что мне нужно знать, это как получить (key, fillColor) и восстановить его, и я могу справиться с php и mysql.

В настоящее время я использую:

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

чтобы получить все ключи, но мне также нужен fillColor.

Спасибо, Роберт Кэмпбелл

1 ответ

Прямой способ запроса активных параметров рендеринга для определенной области в 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 } );
}

Затем используйте эту функцию для выбора / отмены выбора областей вместо непосредственного вызова картстера. Теперь, когда вы собираетесь сохранить данные, вы можете просто посмотреть цвета из вашей справки:

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.

.. или что-то типа того.

Другие вопросы по тегам