Google静态地图图片,其中包含指向Google iframe的链接

时间:2013-01-08 10:26:05

标签: google-maps google-maps-api-3 fancybox

我正在尝试显示一个谷歌静态地图,点击后会打开一个更大的iframe,用户可以在其中进行平移,缩放等。

JSFiddle here

以下代码:

<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,标记显示在左上角。

删除标记标签&#34; B&#34;

从我的数据库输入我自己的坐标 - 例如...对纽约市,芝加哥等做同样的事情。但是,我尝试更改daddr(目的地)地址),但我不确定其他变量代表什么(即sll,sspn,g,mra,ll等)

获取路线 - 插入起点,并获取前往预定目的地的路线

1 个答案:

答案 0 :(得分:2)

首先说明您需要的参数:

  • <强> f
    必须 d 了解路线

  • <强> saddr
    起始地址,可以是字符串(可以是地理位置),也可以是latLng

  • <强> daddr
    目标地址,可以是字符串(可以是地理位置),也可以是latLng

  • <强> ll
    地图中心的位置(latlng)。当ommited时,地图将根据标记居中

  • <强> z
    地图的缩放。省略时,将根据方向

  • 缩放地图
  • <强> output
    必须是embed iframe

您在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.


  5. 最后:您应该考虑使用Maps-Javascript-API创建自己的地图,以获取您可以自己处理的地图。

相关问题