サポート » プラグイン » lightweight-google-mapsについて

  • 新しいバージョンのlightweight-google-mapsを導入したのですが、固定ページの地図の左側の下に「AND,」の文字が……。
    いろいろ調べるとLat_Long.phpの以下の部分で、どこか「AND SUBSTRING_INDEX(meta_value, ‘,’,-1)」が余分かなという気もするのですが、どうなんでしょうか。どなたかわかりませんでしょうか。
    $locations = $wpdb->get_results(“SELECT post_id,meta_value FROM {$wpdb->postmeta} WHERE meta_key = ‘” . GEO_META_FIELD_NAME . “‘ AND SUBSTRING_INDEX(meta_value, ‘,’,1) >= $south_lat AND SUBSTRING_INDEX(meta_value, ‘,’,1) <= $north_lat AND SUBSTRING_INDEX(meta_value, ‘,’,-1) >= $west_lon AND SUBSTRING_INDEX(meta_value, ‘,’,-1) <= $east_lon ORDER BY post_id DESC”);

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    プラグイン作者です。
    おそらく、$bounds[0]〜[3] のいずれかに値が入ってなくて空なのだと思います。その場合は、SQL 文が不正になる可能性がありますね。

    Lat_Long.php の47空50行目を以下のようにしてみてください。これでも問題が出るようなら、もうちょっと大胆に処理を変更してみます。

    $south_lat = floatval(min($bounds[0], $bounds[2]));
    $north_lat = floatval(max($bounds[0], $bounds[2]));
    $west_lon  = floatval(min($bounds[1], $bounds[3]));
    $east_lon  = floatval(max($bounds[1], $bounds[3]));

    トピック投稿者 yosshies

    (@yosshies)

    さっそく、ご丁寧な回答ありがとうございます。
    上記のようにしたところ、「AND,」の表示は消えたもののエントリーページに地図が表示できず(設定画面で「地図」を選択してもです)、固定ページでもエントリーページへのリンクのマーカーが表示されませんでした。
    けっきょく、現在、前バージョンのプラグインを導入して満足して使っています。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    上記のようにしたところ、「AND,」の表示は消えたもののエントリーページに地図が表示できず(設定画面で「地図」を選択してもです)、固定ページでもエントリーページへのリンクのマーカーが表示されませんでした。

    ううーん。なんか変ですね。そもそも $bounds に空要素がある時点で不可思議です。ちょっと調べてみます。

    けっきょく、現在、前バージョンのプラグインを導入して満足して使っています。

    具体的に、どのバージョンをご利用でしょうか? この SQL 文を使ってないバージョンとすると、かなり古いバージョンになるはずですが……。

    トピック投稿者 yosshies

    (@yosshies)

    バージョンは1.10です。
    でも、原因は何なんでしょうね。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    実は、1.10 と 1.21 との Lat_Long.php は全く同じです。Lat_Long.php を呼び出している locations.php や lw_googlemaps.php の内容は多少違うので、呼び出し側に問題がある可能性が残ります。

    なお、posts_in_bounds() の呼び出し側では、きちんと floatval() をかけているので、posts_in_bounds() で floatval() をかけるのは、実は変化がないはずなのです。

    他に考えられるのは、位置情報が不正になっている地点が存在する場合でしょうか。ある程度、不正な緯度・経度は除外するように考慮していますが、posts_in_bounds() ではチェックが甘くなっています。

    後日、このへんのチェックを強化したテストコードを作ってみますので、お手数ですが、ご協力をお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「lightweight-google-mapsについて」には新たに返信することはできません。