WordPressでGoogle Maps i アプリを使う

Pocket

WordPressでGoogle Mapsを使いたいときありますよね

Google Mapsのマイマップを使えば地図に線が引けます
その機能を使って道路計画や廃線跡などの線を引いてます
線を引いた成果をブログに載せたいのです
ただし、携帯では見えませんよね
なるべく携帯でも成果が見れるように頑張りたいと思います
ドコモのiアプリではkmlの指定をすれば線が引けます!

Google Mapsのiアプリではkmlを指定できるみたい

記述はコレ

<object declare id="GMM-Doja" data="http://www.google.co.jp/gmm?noss=1">
<param name="mime-type" value="vnd.google.gmm" />
<param name="url0"  value="http://www.google.co.jp/gmm/x?action=BUSI&q=[kmlファイル]" />
</object>
<a ista="#GMM-Doja" href="http://m.google.co.jp/maps">アプリ起動</a>

PCにGoogle Mapsを表示するためのプラグインとしてGoogle Maps Anywhereを使ってます
このプラグインは携帯で地図の記述がある投稿を見るとstaticmapsへのリンクが出る

最終目標として、携帯で見た時にアプリ起動タグも表示されるようにしたいわけです

アプリ起動タグを表示させるために
二つのプラグインを修正しました
一つ目はGoogle Maps Anywhereプラグインです
google-maps-anywhere.phpの携帯判定のコードにドコモの場合さらにアプリ起動タグも表示するようにします
PDC端末でもアプリ起動タグが表示されてしまいます
しかし、携帯でブログ見ようとする人がPDCということは少ないですよね

	$ret_val .= '<div align="center">';
	if ( function_exists('ks_is_image_inline') && ks_is_image_inline() ) {
		$ret_val .= "<img src="{$img_src}" alt="{$content}" title="{$content}" />";
	} else {
		$ret_val .= "[<a href="$img_src" title="{$content}">";
		$ret_val .= __('Map of this location', $this->textdomain_name).' : '.$content;
		$ret_val .= "</a>]";
	}
	// 追加開始
	if ( $this->isKtai() == "DoCoMo") {
		$ret_val .= '<object declare id="GMM-Doja" data="http://www.google.co.jp/gmm?noss=1" Type="application/x-jam">';
		$ret_val .= '<param name="mime-type" value="application/vnd.google.gmm" />';
		$ret_val .= '<param name="url0" value="http://www.google.co.jp/gmm/x?action=BUSI&q=' . $kml . '" />';
		$ret_val .= '</object>';
		$ret_val .= '[<a ista="#GMM-Doja" href="http://m.google.co.jp/maps">アプリで見る</a>]';
	}
	// 追加終了
	$ret_val .= "</div>n";

続いてKtai Styleです
ktai style2.1 betaを使ってます
アプリ起動タグが吐き出されるようになりました

Ktai Styleのパケ代圧縮のため、余計なタグを削除する機能があります

通常はアプリ起動タグを記述する必要がないためistaが削除され、href部分しか残りません

<A href="http://m.google.co.jp/maps">アプリで見る</a>

ista が削除されないように、ktai_style.phpに以下の記述を追加します

private function set_allowedtags() {
	global $allowedposttags, $allowedtags;
	if ($allowedposttags) {
		$allowedposttags['a']['accesskey'] = array();
		$allowedposttags['a']['ktai'] = array();
		$allowedposttags['a']['ifb'] = array();
		$allowedposttags['a']['lcs'] = array();
		$allowedposttags['a']['utn'] = array();
		$allowedposttags['a']['z'] = array();
		$allowedposttags['a']['ista'] = array();  // 追加
		$allowedposttags['bgsound']['loop'] = array();

ktai style2.0 なら以下のようにkses.phpに追加すれば良いのかな?

class Ktai_HTML_Filter {
	static public $allowedtags = array(
	'address' => array(),
	'a' => array(
		'class' => array(), 'href' => array('type' => 'uri'),
		'id' => array(), 'ifb' => array(), 'lcs' => array(),
		'name' => array(), 'utn' => array(), 'z' => array(), 'ista' => array(),
	),

コメントを残す