如何从新的Google地图嵌入中删除框?

Fer*_*ien 28 google-maps

谷歌似乎改变了他们的iFrame的工作方式.现在左上方有一个信息框,试图显示地名.问题是,在爱尔兰,通常不可能使用商家的名称来确定地图,而且通常你需要使用街道名称等等,这使得这个箱子功能无用,因为街道的名称就在那里地图,以及地图旁边的页面!

我怎么能摆脱这个东西?在这个例子中,该业务与爱尔兰教练位于同一建筑物内.地图坚持认为,通过在地址中加入,这位律师出于某种原因希望告知潜在客户爱尔兰教练的位置!

在此输入图像描述

我已经尝试了iwloc但它什么也没做,我不能通过CSS和jQuery实现它,因为它在另一个域上!

有任何想法吗?

raw*_*dlz 24

这在2017年2月左右停止工作.他们必须更新他们的API.:(

你就是这样做的!

工作版

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2381.7399040776495!2d-6.261147484122739!3d53.34791197997939!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!3m2!1sen!2sus!4v1462581622087" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

我注意到另一个网站嵌入的模式只有"查看更大的地图"文本而没有额外的东西.只需删除几个字符.

全部嵌入你

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2381.7399040776495!2d-6.261147484122739!3d53.34791197997939!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x48670e84fbdd6bd3%3A0x998692b4f1b691e1!2sUlster+Bank+Chambers%2C+O&#39;Connell+Street+Lower%2C+Dublin+1%2C+Ireland!5e0!3m2!1sen!2sus!4v1462581622087" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

这是被删除的部分

1m2!1s0x48670e84fbdd6bd3%3A0x998692b4f1b691e1!2sUlster+Bank+Chambers%2C+O&#39;Connell+Street+Lower%2C+Dublin+1%2C+Ireland!5e0!
Run Code Online (Sandbox Code Playgroud)

我也尝试过其他地址.

  • 这个技巧很棒,但它也会删除地图标记和信息窗口. (6认同)
  • 这也适用于我...我只是寻找以`1m2!'开头的字符串,以`!5e0!`结束并删除...是的! (4认同)

zet*_*eta 22

从1822年1月22日起,当您使用坐标而不是商家名称时,它会起作用

  1. 转到地图即可获得您的坐标
  2. 转到Google地图并输入这些坐标(逗号分隔如下:33.319663,-111.89780100000002)
  3. 点击分享(位于左侧)
  4. 单击"嵌入地图"
  5. 配置所需的地图大小
  6. 复制html

得到的html是这样的:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3333.967410377096!2d-111.89998968453055!3d33.31966746342457!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zMzPCsDE5JzEwLjgiTiAxMTHCsDUzJzUyLjEiVw!5e0!3m2!1sen!2sus!4v1516690469899" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

大小配置屏幕

  • 这应该是公认的答案.另一个答案需要删除'1m2!---!5e0!' 从URL中删除左上角的业务信息,但它也删除了地图引脚!(你可能不想要.) (5认同)
  • 我现在看到常规信息窗口。 (2认同)

Jar*_*ire 5

在这里得到了两个答案,一个摆脱了信息框,一个可能回答了在信息框中的正确位置。希望其中之一能有所帮助。


卸下信息框

CAVEAT:这里的方法可能被认为是“黑客”,如果Google更改其底层嵌入功能,则可能会更改。

我最终在这里寻找类似的答案,并且根据其他人的发言,我提出了这个答案。答案与其他答案相似,但希望能解释一些有关嵌入网址以及如何使用经纬度,经度和缩放生成嵌入网址的信息(您可能会从CMS中的位置插件获得一些信息)。

使用这篇文章作为搜索的基础,我发现了几个不同的文章,概述了嵌入参数的细目分类,这些内容本身很有趣:- 解码Google Maps嵌入参数,这导致了http://blog.themillhousegroup .com / 2016/08 / deep-diving-into-google-pb-embedded-map.html

我从这些文章中提取的内容(此处不再赘述)是“ pb”参数的细分。“ pb”是专有(?)格式,“ m”是矩阵引用。这里显示的是从Google Maps嵌入共享生成的嵌入代码的示例。

<iframe src="https://www.google.com/maps/embed?pb=
    !1m18
        !1m12
            !1m3
                !1d2256.8774176856136
                !2d145.01353351606252
                !3d-37.79291244062522
            !2m3
                !1f0
                !2f0
                !3f0
            !3m2
                !1i1024
                !2i768
                !4f13.1
        !3m3
            !1m2
                !1s0x0%3A0x0
                !2zLTM3Ljc5MjkxNjcgMTQ1LjAxNTcyMjI
    !5e0
    !3m2
        !1sen
        !2suk
    !4v1532346966021
" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

通过玩转,我发现整个“ pb”参数可以简化为

<iframe src="https://www.google.com/maps/embed?pb=
    !1m7
        !1m2
            !1m1
                !1d2256.8774176856136
        !3m3
            !1m2
                !1s0
                !2zLTM3Ljc5MjkxNjcgMTQ1LjAxNTcyMjI
" width="450" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

注意:“ m”后的数字已减少,表示“矩阵”中的项目较少

上面的嵌入用于lat = -37.7929167long = 145.0157222zoom = 17的位置

正如另一个答案所暗示的那样,如果您仅使用纬度和经度(使用此嵌入api,而不使用嵌入位置api),则不会出现信息框,但是我需要知道如何直接获取嵌入url首先通过google从共享生成URL。

在“ pb”细分中,需要注意几个部分

  • 地图比例尺1d2256.8774176856136
  • 坐标2zLTM3Ljc5MjkxNjcgMTQ1LjAxNTcyMjI

比例尺可以从我在https://gis.stackexchange.com/questions/7430/what-ratio-scales-do-google-maps-zoom-levels-correspond-tohttps://此处找到的算法中得出//www.esri.com/arcgis-blog/products/product/mapping/how-can-you-tell-what-map-scales-are-shown-for-online-maps/

但是我发现我所期望的数字不太正确,所以我把变焦等级弄乱了

var mapScale = 591657550.5 / Math.pow( 2, zoom + 1);
// The results of this goes after the "1d" part in the map scale
Run Code Online (Sandbox Code Playgroud)

对于坐标,请在经纬度上使用base64(显示的示例适用于javascript),并长时间获取结果字符串。我已经使用十进制度数和度数分钟秒格式来工作。

var base64 = btoa([lat,long]); // lazy "lat,long" formatting
// the result of this goes after the "2z" part in the coordinate
Run Code Online (Sandbox Code Playgroud)

如果要编写脚本,这是一个使用javascript生成iframe的简单示例,但是您可能希望创建整个src服务器端。请注意:这与javascript解决方案无关,这是脚本解决方案的示例。

<iframe src="https://www.google.com/maps/embed?pb=
    !1m18
        !1m12
            !1m3
                !1d2256.8774176856136
                !2d145.01353351606252
                !3d-37.79291244062522
            !2m3
                !1f0
                !2f0
                !3f0
            !3m2
                !1i1024
                !2i768
                !4f13.1
        !3m3
            !1m2
                !1s0x0%3A0x0
                !2zLTM3Ljc5MjkxNjcgMTQ1LjAxNTcyMjI
    !5e0
    !3m2
        !1sen
        !2suk
    !4v1532346966021
" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

我在codepen上创建了一个示例,其中显示了原始嵌入,缩小的嵌入,没有缩放的嵌入以及脚本化的解决方案。https://codepen.io/mcgern/pen/zLZJmQ


在信息框中输入正确的地名

您可能已经尝试过此方法,但是如果要投放的业务具有Google地方编号,则可以使用https://developers.google.com/places/place-id找到它。取得地点编号后,您就可以像这样在地点嵌入网址中使用它

<iframe width="600" height="450" frameborder="0" style="border:0"
src="https://www.google.com/maps/embed/v1/place?q=place_id:ChIJ02vd- 
4QOZ0gR4ZG28bSShpk&key=<INSERT_API_KEY>" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

(我刚刚发现一个随机的地方,看起来像是与爱尔兰长途客车相同的建筑物)


sin*_*ina 5

2020 年更新:

1.在谷歌地图中找到您的位置

2.右键单击您的目标并选择What's here?

3.在屏幕下方你可以看到这样的坐标:29.586525, 52.546173

4.现在将坐标粘贴到搜索框中

5.单击share按钮并选择Embed a map并复制iframe标签