7

为客户建立网站我需要定期嵌入 GMaps。为此,我使用了 maplace.js。

这一切都很好,但我注意到了一些奇怪的事情。

我在我的谷歌账户上启用了谷歌地图的新“外观”,所以现在它看起来非常漂亮和干净:

新外观谷歌地图

在这里,我可以生成一个 iFrame 用于在我的网站上手动嵌入 GMap,保持新的、干净的外观和相当方便的“获取方向”覆盖:

在此处输入图像描述

但是,当使用 maplace.js(因此,实际上是 maps API)时,我仍然会得到旧的外观和漂亮而干净的控件的 noe:

在此处输入图像描述

我一直在寻找一种方法来使想法看起来与谷歌生成的框架相同,但没有运气。

这些是我用来完成工作的包含:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry&v=3.exp"></script>
<script type="text/javascript" src="/Scripts/maplace.min.js"></script>

这是应用于地图的 CSS:

#gmap {
    height: 300px;
    width: 100%;
}

以及实际的地图嵌入:

<script>
new Maplace({
    map_options: {
        scrollwheel: false,
        navigationControl: true,
        mapTypeControl: false,
        scaleControl: false,
        draggable: false,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    },
    visualRefresh: true,
    locations: [

            {lat: 50.871197, lon:  4.696941000000038, zoom: 15}



    ]
}).Load();
</script>

有人对此有想法吗?

4

2 回答 2

0

我想在我正在开发的网站上做同样的事情。我们发现那个小星星非常有用,可以将位置保存在用户 Google Maps Favourites 上,然后我意识到它iframe使用的服务器端配置与API我们可用的服务器端配置不同。我们还检查了 JavaScript 版本的更新日志,不幸的是现在没有这样的功能可用。

https://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog

于 2014-08-19T22:56:19.803 回答
0

我终于想通了(实际上很奇怪,似乎没有其他人已经这样做了)。

我在问题中提到的“新外观”地图是作为Google Maps Embed API的一部分生成的。

这个 API 提供了许多好处(除了用户查看它们的漂亮外观和上下文):

  • 没有使用/流量限制
  • 如果用户登录到他/她的帐户,则提供查看地图的用户的上下文

此外,如果您打算在您的网站上使用它们,从任何给定的内容管理器嵌入这种地图似乎很容易。这是因为嵌入它们的 src 属性始终具有以下布局:

https://www.google.com/maps/embed/v1/MODE?key=API_KEY&parameters

其中,根据文档如下:

  • {MODE}:是地点、方向、搜索或视图之一。
  • {API_KEY} 是您的免费 API 密钥。
  • 参数包括可选参数

提供的示例似乎表明将 CMS 的内容字段链接到 iframe src 属性的 {MODE} 字段应该很容易:

https://www.google.com/maps/embed/v1/place?key=API_KEY&q=Fisht+Olympic+Stadium,Sochi+Russia

这就是我想要达到的目标。看来我只是过分关注 Maps API 本身,并以某种方式混淆了其他东西:-/

于 2014-08-24T08:22:22.270 回答