「Google Maps Anywhere」から「Simple Map」へ移行

私の作ったプラグイン「Google Maps Anywhere」はメンテナンスを停止しています。
Google Maps API ver.2 までしか対応していないため、ver.3 に対応した「Simple Map」プラグインへの移行をお勧めします。
Simple Map の説明については、みやさんのブログを参考にしてください。
Simple Map – 超簡単&スマフォ対応のGoogle Map | firegoby

この二つのプラグインはショートコードで Google Maps を表示するという同機能を持っています。
パラメータに着いても互換性がありますが、ショートコードタグが異なりますので、過去記事に Google Maps Anywhere で埋め込まれたショートコードを書き換えてあげる必要があります。

以下の SQL 文を実行することで対応できます。

SQL 文を実行する前には mysqldump コマンドや phpMyAdmin 等でデータをバックアップしておくことをお勧めします。

「Google Maps Anywhere」から「Simple Map」へ移行」への1件のフィードバック

  1. K.S.

    丁度移行する必要がある機会があったので、参考とさせていただきました。
    functions.phpへフィルタを追記すればDBの変更なしでも変換できそうではあります(未検証ですが)

    function googlemap_to_map($text) {
    if ( preg_match("/\[googlemap/",$text) ){
    $text = preg_replace("/\[googlemap/", '[map', $text);
    $text = preg_replace("/\[\/googlemap\]/", '[/map]', $text);
    }
    return $text;
    }
    add_filter('the_content', 'googlemap_to_map', 1);

    また、[ map lat=”xxxx” lng=”yyyy” ](観光地名)[ /map ]のような場合だと、
    観光地名の方が優先されてlat、lngが無視される、空白で表示されるということもあるため、
    simple-map.phpの最後のreturnの前に

    if(!$lat && !$lng ){
    if (isset($p['lat']) && preg_match("/^\-?[0-9\.]+$/", $p['lat'])
    && isset($p['lng']) && preg_match("/^\-?[0-9\.]+$/", $p['lng'])){
    $lat = $p['lat'];
    $lng = $p['lng'];
    }
    }

    を挿入し、simplemap.jsでは

    if(a(d).text().length){



    if(!a(d).attr("data-lat")&&!a(d).attr("data-lng")&&a(d).text().length)

    にして対処を試みております。
    一時的な対策ではありますが、ご参考まで。

    返信

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください