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.
.. или что-то типа того.