【发布时间】:2014-04-04 15:49:17
【问题描述】:
我正在尝试将 KML 图层添加到现有的 google 地图对象,但无法控制对象实例(和初始化)。
到目前为止,我发现对象位于(DOM): window.google.maps... (好吧,这只是构造函数,而不是渲染的 Map 对象本身)
这是我要添加到 google.maps.Map 对象的现有(?)实例的内容:
var kmlUrl = 'http://.../polygon-simple.kml';
var kmlOptions = {
suppressInfoWindows: false,
preserveViewport: true
};
var kmlLayer = new window.google.maps.KmlLayer(kmlUrl, kmlOptions);
包含 Map 对象的页面由托管公司提供,并使用其自己的 jQuery 小部件来生成对象。我可以在 html-body 中添加我的 javascript(也可以在其中创建地图的“服务器端”)。
由于我无法更改使用的 JS 文件和 CMS 添加的 JS 的来源,我需要解决现有对象并执行以下操作:
kmlLayer.set(obj.Map);
应用我的添加并更新 Map 对象。但这显然不起作用。
我对整个网站进行了 firebug,并试图找到由 jQuery 小部件生成的 Map 实例 - 什么也没有。我遍历了网站上的每个对象 - 什么都没有。
完全由我自己编写谷歌地图的代码是不可能的,因为我需要在后端为非开发人员保留它的可配置性。
我猜这个问题会转移到一个 jQuery 小部件问题上……在此先感谢!
【问题讨论】:
-
你是如何创建“现有的谷歌地图对象”的? window.google.maps... 是 Google Maps Javascript API 代码。
-
我发现了什么:
self.map = new window.google.maps.Map(self.container[0], ...我想,我做了一些更多的调试来获得“自我”的范围 引导这走向正确的方向?代码被缩小并且很难阅读...... -
好的,尝试获取范围是个坏主意。我完全迷失在使用 Firebug 和 DOM Inspector 进行的那种“调试”中。托管者的代码、jQuery 和所有 Google API 的混合对于我的 JS 知识来说太沉重了。有任何想法吗?也许还有一些其他有用的浏览器内工具?
-
@geocodezip 好的,最后我最终使用了您的 geoxml3 库并“自己”完成了整个 KML 处理(使用 geoxml3)。一点提示将是不错的地理编码压缩 ;-)
标签: javascript google-maps dom kml jquery-widgets