0

ImageMapster マップの状態を選択してデータベースに保存し、それを取得して保存したマップを表示する簡単な方法はありますか?

例:いくつかの州を赤と緑(現在作業中)に色分けしてから、jQuery ajaxを使用してデータベースに保存したいと思います。後でマップに戻り、選択した色をデータベースから復元します。

私が知る必要があるのは、(キー、fillColor)を取得して復元する方法だけで、php と mysql を処理できます。

現在私は使用しています:

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

すべてのキーを取得するには、fillColor も必要です。

ありがとう、ロバート・キャンベル

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 に答える