0

気が狂う。次のコードを使用して、Wordpress カスタム フィールド (入力タイプ) から値 (自宅の住所) を取得します。

<?php $dudi=get_post_meta($post->ID, 'addr', true); ?>

それは良いです!ここで、この変数 $dudi を jQuery 関数に「渡す」必要があります ( Google マップを表示するためのgMapです)。

$(function() {
    $("#map").gMap({ markers: [
        { address: '<?php echo $dudi; ?>',
          html: "blah blah<br>blah blah" }
        ],
  zoom: 10 });  
});

そしてタグ<div id="map"></div>gMap を使用すると、指定されたアドレス (変数 $dudi の値) にマーカーを付けてマップを表示する必要がありますが、機能しません! アドレスを ( の代わりに<?php echo $dudi; ?>) 手動で書き込むと、Chrome ではバグ (マーカーをクリックしてマップを移動すると奇妙な効果) が発生し、IE と Firefox では機能しないことに注意してください。

わからない...とにかくやってみましたが、何もすることがありません...明日のためにこれが必要です! :(皆さんに期待しています!!

更新:なんてこった!問題の原因が変数の受け渡しによるものなのか、html/css の競合によるものなのかはっきりしないため、手順を追って説明します。そのため、変数をバイパスして jQuery 関数に手動でアドレスを記述しました。さて、多くの頭痛の種の後、マップが css と競合することがわかりました。

max-width: 100%;

実際、その行にコメントすると、マップは正しく表示されます。

今、変数を復元しましたが、マップはどのブラウザーでも機能しません (灰色の背景とも呼ばれます) が、ズーム フェーダーが正しく表示され、ブラウザー コンソールでファイル main.js に2 つのエラーがあります。 TypeError: a is null残念ながら、私はこのファイルを知らず、一部のコードを修正できません。よろしくお願いします... また!

必要に応じて...

1回目のエラー

H(ff,hb);var Kh=256/360,Lh=256/(2*Math.PI);ff.prototype.fromLatLngToPixel=function(a,b){var c=128+a.lng()*Kh,d=Db(Math.sin(Xb(a.lat())),-0.9999,0.9999),d=128+0.5*Math.log((1+d)/(1-d))*-Lh,f=1<<b;return new r(u(c*f),u(d*f))};

2回目のエラー

Oh(Sj,"arrow",1);function qi(a,b,c){!a.lat&&!a.lon&&(a=new P(a.y,a.x));this.Aa=a;this.Nu=i;this.na=0;this.N=this.mb=!1;this.Oo=[];this.V=[];this.Ra=Mj;this.Mg=this.cl=i;this.Ub=!0;this.Dg=this.rf=!1;this.g=i;if(b instanceof Qj||b==i||c!=i)this.Ra=b||Mj,this.Ub=!c,this.ha={icon:this.Ra,clickable:this.Ub};else{b=this.ha=b||{};this.Ra=b.icon||Mj;this.mv&&this.mv(b);if(b.clickable!=i)this.Ub=b.clickable;if(b.isPng)this.rf=!0}b&&Ob(this,b,"id,icon_id,name,description,snippet,nodeData".split(","));this.Zu=Tj;if(b&&b.getDomId)this.Zu=
4

3 に答える 3

2

「Chromeはマーカー付きの地図を表示しますOK!!! FirefoxとIEは何も表示しません(灰色の背景など)」

Ennui のソリューションが Chrome で正常に動作する場合は、他のブラウザのコンソールを確認してください。何らかのエラーが出力されるはずです。これは、Google マップが地図ではなく「灰色の背景」を表示する場合に通常発生することです。

于 2012-11-15T21:31:54.043 に答える
0

手っ取り早い解決策は、隠し div 内のページのどこかに $dudi 変数をエコーすることです。例えば:

<p style="display:none" id="dudi">
  <?php echo get_post_meta($post->ID, 'addr', true); ?>
</p>

次に、jQuery で次のようにします。

var dudi = $('p#dudi').text();

これをテストする時間はありませんでしたが、あなたの目的のためにはうまくいくはずです。

于 2012-11-15T20:34:54.647 に答える
0

img タグの css stype を見つけ て、次のmax-width: none; ように置き換えてみてください。 max-width: none;

于 2012-12-06T18:52:10.123 に答える