Archive: 2009/04/26

Googleマップ on MTOS

Google Maps on MTOS
Googleマップも出来た

先日入手したMTOS活用テクニックに教えを請うて、『轍 Wadachi』版のGoogle マップ表示の実装完了。

まずはひな形からプラグインの/usr/lib/cgi-bin/mt/plugins/EntryGmap/EntryGmap.plを作成。ポイントは'gmap_track','gmap_marker','gmap_markerlist'と3つのフィールドを作成する事。一部を抜粋するとこんな感じ。

sub init_registry {
my $plugin = shift;
$plugin->registry({
object_types => {
'entry' => {
'gmap_track' => 'text',
'gmap_marker' => 'text',
'gmap_markerlist' => 'text',
},
},
tags => {
function => {
EntryGmapTrack => \&entry_gmap_track,
EntryGmapMarker => \&entry_gmap_marker,
EntryGmapMarkerlist => \&entry_gmap_markerlist,
},
},
callbacks => {
'cms_pre_save.entry' => {
priority => 9,
code => \&save_entry_field,
},
}
});
}

sub save_entry_field {
my ($eh, $app, $entry, $orig_entry) = @_;

$entry->gmap_track($app->param('gmap_track') || '');
$entry->gmap_marker($app->param('gmap_marker') || '');
$entry->gmap_markerlist($app->param('gmap_markerlist') || '');
1;

};
その後、「ダッシュボード」にログインする事で/usr/lib/cgi-bin/mt/plugins配下のプラグイン「EntryGmap」が読み込まれ、データベース・テーブルに'gmap_track'以下のフィールドとそれらのメソッドが追加される。