自定义 google 个来自地图制作者的地图嵌入

Customize google map embed from map maker

在此页面底部,http://bonner.gydev.com/,我们正在使用 google 地图制作工具嵌入基本地图。这些线都是由其他人绘制的,并在 google earth kmz 文件中提供,我们可以将其导入地图制作工具。嵌入工作正常,但我需要去掉所有叠加层,只显示带有线条和缩放图标的地图。没有 top/title 栏,没有 show/hide 左侧菜单中的选项,等等。嵌入地图制作工具是否可行?尝试了如下所示的 jquery 方法,但没有成功。

$('iframe').contents().find('.qAWA2').remove();

如果不可能,我不确定如何将这些线坐标放入更高级的 API 设置中?

如有任何帮助,我们将不胜感激!谢谢,里奇

使用 Google 地图 JavaScript API 可以轻松做到这一点。使用 API 在您的页面中创建地图,并加载您的 KML 文件,如 this example.

所示

如果您有足够的动力,可以添加其他有用的功能。例如,在阅读课文和看到地图后我想知道:卡丁车赛道在哪里?马厩在哪里? 房子在哪里?您可以在卫星地图的侧面有一个功能列表,或者更好的是,使主体文本中的适当单词可点击,例如当您读到有关从马厩中取出新坐骑的信息时,您可以单击 "stable" 并放大或在地图中的那个位置显示一个标记。

45 degree view 也非常好,并且在您使用 Google 地图 API 地图后很容易添加。

顺便说一句,小心使用元素 类 或您可能在 DOM 检查器中找到的 qAWA2 之类的 ID。即使你确实让它工作了,它也可能会在接下来的几周内崩溃。如果像 qAWA2 这样的名字看起来像乱码而不是任何明智的程序员会使用的名字,那是有原因的。 Maps API JavaScript 代码在发布前通过压缩器 运行,并将私有名称(函数、类 等)更改为任意更短的代码。因此,每次他们发布新版本并通过缩小器 运行 时,这些名称可能会因您而改变。

或者 qAWA2 实际上可能是他们在原始地图 API 源代码中使用的名称(也许字母代表某物)——但同样的原则仍然适用:没有记录, 所以 Google 可以随时更改它。