拙著「上手に稼ぐカラ売りテクニック」が発売されました。
株価が下がる局面で利益を得ることができる「空売り」について、詳しく解説した本です。
自由国民社刊で、定価1,512円(税込)です。
Googleマップカスタムフィールドプラグイン(その1)
Movable Type 5で、Googleマップをカスタムフィールドとして入力できるプラグインを作りました。
今日は、基本的な使い方を解説します。
1.インストール
プラグインは以下からダウンロードします。
GoogleMapsCustomField_1_28.zip
ダウンロードしたZipファイルを解凍すると、「plugins」と「mt-static」のフォルダができます。
これらのフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
2.カスタムフィールドの作成
このプラグインをインストールすると、カスタムフィールド作成のページで、「種類」の欄で「Googleマップ」を選択することができるようになります。
Googleマップのカスタムフィールドを作成する際には、まず新規作成時に「種類」の欄で「Googleマップ」を選択して、そのカスタムフィールドをいったん保存します。
そして、再度そのカスタムフィールドを編集する状態にして、Googleマップの規定値を指定します。
「規定値」の部分では、地図を表示するかどうか/地図の中心/ズームレベル/住所の規定値を指定することができます。
地図の中心は、マーカーをドラッグして決めます。
また、ズームレベルは、通常のGoogleマップと同様に、地図の左上のレベル調整のコントロールで指定します。
3.地図の入力
カスタムフィールドの作成後、ブログ記事等の編集画面で、地図を入力することができます。
カスタムフィールドを作成したときと同様の手順で、地図を表示するかどうか/地図の中心/ズームレベル/住所を指定します。
4.テンプレートの書き換え
Googleマップのカスタムフィールドを作成すると、そのテンプレートタグ名の後に「Block」をつけたテンプレートタグ(ブロックタグ)を使うことができます。
たとえば、ブログ記事にGoogleマップのカスタムフィールドを追加し、テンプレートタグ名を「EntryGMap」に設定したとします。
この場合、「MTEntryGMapBlock」というテンプレートタグ(ブロックタグ)を使うことができます。
上記のブロックタグの中では、Googleマップの情報を出力するためのいくつかのテンプレートタグを使うことができます。
もっとも簡単にGoogleマップを出力するには、「MTGMapCFWebElements」というテンプレートタグ(ファンクションタグ)を使います。
このタグは、Google Web Elementsを使って、Googleマップを出力する働きをします。
たとえば、前述の例のように、ブログ記事にGoogleマップのカスタムフィールドを追加し、テンプレートタグ名を「EntryGMap」に設定したとします。
この場合、ブログ記事テンプレートの中で、Googleマップを出力したい位置に以下のように書きます。
<mt:EntryGMapBlock> <$mt:GMapCFWebElements$> </mt:EntryGMapBlock>
5.ライセンス
このプラグインはMITライセンスでご提供します。
商用ライセンス/個人無償ライセンスのMovable Typeでご利用いただくことができます。
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください
kaburk
こんにちわ、なかなか良いプラグインですね!
早速試させていただきました。
そこでご要望なのですが、カスタムフィールド作成時の規定値や入力の指定で住所から指定だけでなく、緯度、経度からも指定できると嬉しいです。
あと、ライセンス形態はどのようになっていますでしょうか。
商用利用可能でしょうか?
壱
>kaburkさん
こんにちは。
緯度/経度の指定は、「住所」の欄に「緯度,経度」のように入力して、「地図で住所を検索」ボタンをクリックすれば可能です。
たとえば、「住所」の欄に「35.7,139.7」と入力して「地図で住所を検索」ボタンをクリックすれば、東京の中央区あたりの地図を表示することができます。
また、ライセンス形態ですが、商用/個人無償のどちらのMTでもお使いいただくことができます。
hamichamp
plugins\GoogleMapsCustomFields\config.yaml: Syck parser (line 31, column 24): syntax error
という感じでエラーになりました。
該当行をみて、最後の「,」を削除したらでなくなりましたが、どう対応すべきなのでしょうか?
壱からhamichampへの返信
>hamichampさん
こんにちは。
不具合のご指摘をいただき、ありがとうございます。
該当の行を以下のように変えてください。
誤:
options_delimiter: ,
正:
options_delimiter: ','
koushi
こんにちは。
WPなどでもいろいろ藤本さんのプラグインはお世話になっています。
MTのカスタムフィールドは初めてでかなりつまづいています。
今日、ひとつの記事に地図を載せたくて試してみました。
カスタムフィールドの設定までは大丈夫と思うんですが、記事に地図を表示するところでつまづいています。
ひとつの記事に載せたいだけなので、カスタムフィールド設定画面で規定値を地図を表示するにチェックしないと、記事編集画面の下の部分に地図が出てきません。
この場合は、テンプレートにタグを記入しておかないといけなんでしょうか。
またカスタムフィールド設定画面で
「フィールドに値は必須ですか?」の意味がわかりません。
なんとか頑張って使えるようになりたいのでアドバイスいただければ幸いです。
壱
>koushiさん
このプラグインで1つの記事だけに地図を入れるなら、以下のようにすればよいです。
1.ブログ記事にGoogleマップのカスタムフィールドを追加し、規定値では「地図を表示する」をオフにします。
2.「ブログ記事」のアーカイブテンプレートに、Googleマップを表示するためのテンプレートタグを追加して保存します。
3.ブログ記事を入力する状態にし、右上の方にある「表示オプション」を開いて、Googleマップのカスタムフィールドにチェックを入れます。
4.Googleマップのカスタムフィールドが入力画面に表示されますので、「地図を表示する」のチェックをオンにして、地図を入れます。
5.ブログ記事を保存します。
6.これ以後に作成する記事では、入力の際に「地図を表示する」のチェックをオフのままにしておきます。
もっとも、1つの記事だけに地図を表示するなら、このプラグインを使うよりも、Google Web Elementsを直接に使う方が簡単だと思います。
http://www.google.com/webelements/#!/maps
柳川みよ
藤本さん、はじめましてこんにちは。
とても便利なプラグインでとても助かりました:pp_05.gif:
ひとつご質問です。
マップのマーカーをオリジナル画像に変更することはできますでしょうか。
壱から柳川みよへの返信
>柳川みよさん
こんにちは。
ご質問の件について記事を書きました。
http://www.h-fj.com/blog/archives/2011/11/30-163649.php
yasuiから柳川みよへの返信
藤本さん、はじめまして。
MTのプラグインで参照させていただきました。
とてもわかりやすく書いてあり、本当に助かっています。
ちょっとつまづいてしまい、もしお分かりになればと思って投稿させていただきます。
現在、地域のCMSを作成しておりまして、
各スポットにgooglemapをはりつけて地図を表示したいと思っています。スポット情報は登録ユーザーが自由に投稿できるようにしたいのです。
システムの管理画面から、地図を投稿することはできたのですが、
ユーザーの「トピックの投稿」のページに地図がうまく表示できません。(Googleマップを読み込んでいます...で止まってしまいます)
もともと機能がないということなのでしょうか?
それでも設定がまちがっているのでしょうか?
壱から柳川みよへの返信
>yasuiさん
こんにちは。
ご質問の件ですが、申し訳ありませんがトピックの投稿の画面には対応していません。
gazza069
藤本さん、はじめまして。
プラグインをいつも使わせて頂いており非常に助かっています。
一点お聞きしたいのですが、このプラグインはカスタムフィールドを使用しているのでMTOSだと基本的には使えないですよね。
MTOSをカスタマイズして使用することは可能なのでしょうか?
壱
>gazza069さん
こんにちは。
申し訳ありませんが、現状ではこのプラグインはMTOSでは使えません。
ただ、将来的には、拙作のAnotherCustomFieldsプラグインを改良して、MTOSでも使えるようにしたいと考えています。
http://www.h-fj.com/blog/acfbook/
gazza069から壱への返信
>藤本さん
ご返信ありがとうございます!
現状使用できない旨、了解致しました。
本件は自分でも色々調べてみますね。
AnotherCustomFieldsの改良も期待しております。
van
いつもお世話になりありがとうございます。
設置当時は、管理画面表示・公開部分とも日本語表記のGooglemapだった(はず)のですが、現在見てみると、公開部分だけ英語メインのマップに変わっています。管理画面は、日本語表記なのに・・・。
わかりましたら、教えていただければ幸いです。
壱からvanへの返信
>vanさん
こんにちは。
管理画面側の地図はJavaScriptで表示していますが、公開画面側はGoogle Web Elementsで表示しています。
そのため、公開画面側の地図の表示は、Google Web Elementsに依存しています。
公開画面側の地図の表示を細かくコントロールするには、公開画面側でもJavaScriptで表示するようにする必要があります。
mayona
こちらを導入すると、ブログの「投稿設定」のページに一部で崩れが発生するようでした。
5.14です。
他ページでは正常のようです。
壱からmayonaへの返信
>mayonaさん
こんにちは。
こちらでMT5.14で動作を試してみましたが、申し訳ありませんが、ご指摘のような状態を再現することができませんでした。
mayona
壱さま
ありがとうございます!
わざわざすみません。
当方の環境では、IE、ff、chromeでそれぞれ同じ現象でした。
Uncaught ReferenceError: FJGoogleMapsCustomFieldsInit is not defined
というエラーをchromeで確認しました。
素人なので、よくわからないのですが、
Callback.pmの128行目を
$tmpl->insertBefore($node, $host_node);
↓
$tmpl->insertAfter($node, $host_node);
のようしたら、各ブラウザできれいに表示されました。
これでいこうかと思うのですが、
根幹機能には影響はないでしょうか。
mayona
すみません。
個別ページでマップが読み込まれなくなってしまったので、
やはりダメそうです。
すみません。。。
壱
>mayonaさん
こんにちは。
問題点が分かりました。
プラグインのlib/GoogleMapsCustomFields/Callback.pmの122行目付近を、以下のように変えてください。
・変更前
・変更後
mayona
壱さま
新しいものを反映したところ、お陰様で正しく表示されました。
ご丁寧な対応ありがとうございました!
高橋
壱さま
いつもお世話になっております。
こちらのプラグインを利用させていただき、記事のインポートを使ってカスタムフィールドに対応させた住所データを読み込もうとしたのですが、無視されてしまいました。
おそらくインポートとエクスポート機能には対応していないと思われるのですが、例えばフィールドの種類をGoogleMapではなくテキストとして読み込んで、その住所を元に地図を吐き出すということは可能でしょうか?
もしくはインポートに対応させるカスタマイズのアイディアはございますでしょうか。
ご教授の程よろしくお願い致します。
高橋
壱さま
いつもお世話になっております。
こちらのプラグインを利用させていただき、記事のインポートを使ってカスタムフィールドに対応させた住所データを読み込もうとしたのですが、無視されてしまいました。
おそらくインポートとエクスポート機能には対応していないと思われるのですが、例えばフィールドの種類をGoogleMapではなくテキストとして読み込んで、その住所を元に地図を吐き出すということは可能でしょうか?
もしくはインポートに対応させるカスタマイズのアイディアはございますでしょうか。
ご教授の程よろしくお願い致します。
高橋
壱さま
いつもお世話になっております。
こちらのプラグインを利用させていただき、記事のインポートを使ってカスタムフィールドに対応させた住所データを読み込もうとしたのですが、無視されてしまいました。
おそらくインポートとエクスポート機能には対応していないと思われるのですが、例えばフィールドの種類をGoogleMapではなくテキストとして読み込んで、その住所を元に地図を吐き出すということは可能でしょうか?
もしくはインポートに対応させるカスタマイズのアイディアはございますでしょうか。
ご教授の程よろしくお願い致します。
tera
最初からもう一度したら成功しました!お騒がせして申し訳ございません。
いつも参考にさせて頂いております。
本当にありがとうございます。
スミマセンでした…。
Nagano
お世話になります。
こちらのプラグイン、利用をさせていただいております。
非常に優れており感謝しております。
印刷の件ですが、IE10とFirefoxでは問題なく印刷ができますが、
chromeだと地図の印刷ができません。
プレビューでも地図のみ表示されません。
何か原因がわかりましたらご教授下さい。
宜しくお願いいたします。
壱
>Naganoさん
こんにちは。
当プラグインのMTGMapCFWebElementsタグでは、Google Web Elementsで地図を表示しています。
しかし、chromeだと、Google Web Elementsで表示した地図を印刷できないようです。
Google Web Elementsを使わないで地図を出力する機能を追加したいと思いますので、今しばらくおまちください。
壱からNaganoへの返信
>Naganoさん
こんにちは。
地図の表示方法を変えたバージョンを公開しました。
http://www.h-fj.com/blog/archives/2013/10/19-201017.php
NaganoからNaganoへの返信
早々に対応していただきありがとうございました。
早速修正分をダウンロードさせていただき設置しましたが、
印刷(プレビュー表示)はできるようになったのですが、
ピンの表示がされなくなってしまいました。
ピンに関してはIE10・firefox・chromeともに表示がされません。
恐れ入りますがご確認いただけますでしょうか?
宜しくお願いいたします。
壱からNaganoへの返信
>Naganoさん
こんにちは。
現象確認しました。修正しますので、今しばらくお待ちください。
たた
お世話になっております。
地図プラグイン大変ありがたく、活用させていただいております。
地図を表示する記事としない記事があり、テンプレートで判別をさせたいのですが、
テンプレートタグを「CFEntryDataGoogleMap」とし、
<mt:If tag="CFEntryDataGoogleMap"></mt:If>
上記のように書いてみたのですが、地図の入力がなくてもTrue(値あり)を返すようでした。
何かしら初期値のようなものがあるからと思ったのですが。
例えば、「地図を表示する」のチェックが入っているかどうかで判定する方法などはありますでしょうか?
壱からたたへの返信
>たたさん
こんにちは。
以下のようにテンプレートをお書きください。