2

グーグルの静的マップを表示しようとしています。クリックすると、ユーザーがパン、ズームなどできる大きなiframeが開きます。

JSFiddleはこちら

以下のコード:

<div>
    <a class="various fancybox.iframe" title="Whitehouse - USA" href="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=&amp;daddr=1600+Pennsylvania+Ave+NW,+White+House,+Washington,+DC+20500&amp;hl=en&amp;geocode=Ca3jx5Eq6BcjFQ6IUQIdG4Ro-ynPaZnjvLe3iTGGOSyaFzTP2g&amp;sll=38.897678,-77.036517&amp;sspn=0.009644,0.01443&amp;g=1600+Pennsylvania+Avenue+Northwest,+Washington,+DC&amp;mra=ls&amp;ie=UTF8&amp;t=m&amp;ll=38.89768,-77.036519&amp;spn=0.008016,0.013733&amp;z=16&amp;output=embed">

        <img src="http://maps.googleapis.com/maps/api/staticmap?center=1600+Pennsylvania+Ave+NW,+White+House,+Washington,+DC+20500&markers=1600+Pennsylvania+Ave+NW,+White+House,+Washington,+DC+20500&size=300x300&sensor=false">

    </a>
</div>

iframeに関連するjavascript以外のドキュメントを探しましたが、何も見つかりませんでした。iframeに以下を追加したいと思います:

マーカーの中央-JSFiddleは中央に表示されますが、本番サイトで実行されたまったく同じコードにより、左上にマーカーが表示されたiframeがレンダリングされます。

マーカーラベル「B」を削除します

データベースから自分の座標を入力します。たとえば、ニューヨーク市、シカゴなどでも同じようにします。ただし、daddr(宛先アドレス)を変更しようとしましたが、他の変数が何を表しているのかわかりません(つまり、sll 、sspn、g、mra、llなど)

道順を取得-出発点を挿入し、事前に決定された目的地への道順を取得します

4

1 に答える 1

2

最初に、必要なパラメーターの説明:

  • f
    dルート案内用で ある必要があります

  • saddr
    開始アドレス。文字列 (地理的に位置付けられる) または latLng の場合があります。

  • daddr
    宛先アドレス。文字列 (地理的に位置付けられる) または latLng の場合があります。

  • ll
    マップを中心にする場所(latlng) .省略した場合、マップはマーカーに基づいて中心に配置されます

  • z
    地図のズーム。省略すると、地図は方向に基づいてズームされます

  • output
    embediframe用で ある必要があります

パラメータの詳細なリストと説明は、http://www.seomoz.org/ugc/everything-you-never-wanted-to-know-about-google-maps-parametersにあります。

ただし、どのパラメーターも公式 API の一部ではないことに注意してください。毎日変更される可能性があります。


問題:

  1. マーカーの中央:
    マーカーを中央に配置できませんでした。これは、マップの読み込みが開始されたときに iframe が表示されず、 iframe のサイズを特定できないためです。回避策を使用できます:

    まずダミーページを iframe にロードし、fancybox が開いたらマップをロードします。

    これは、fancybox-options にこれを追加することで実行できます。

    beforeLoad: function(){
      //store the original href for later use
     this.oldhref=this.href;
      //replace the href with some dummy-page
     this.href='wait.htm';
     return true;
    },
    afterLoad:function(){
      //load the originally requested page to the iframe
     $('.fancybox-iframe').attr('src',this.oldhref);
    }
    
  2. マーカー ラベル "B"
    を削除します。B を削除するオプションはありません。できることは、それをAに置き換えることだけです。したがって、マーカーを開始先 (saddr) のマーカーとして設定する必要があります。

  3. データベースから自分の座標を入力し、
    その座標を saddr または daddr に適用します (開始または目的地によって異なります)。

  4. 道順を取得 - 出発地を挿入し、事前に決められた目的地への道順を取得し
    ます。3 を参照してください。


最後に、Maps-Javascript-API を使用して独自のマップを作成し、自分で処理できるマップを取得することを検討する必要があります。

于 2013-01-08T18:30:51.330 に答える