谷歌地图和Markermanager抛出错误
-
19-09-2019 - |
题
我使用谷歌地图API随着 MarkerManager 一>。我通过JQuery的加载2个JavaScript库。
下面是我的Javascript:
function initialize() {
$.getScript('http://gmaps-utility-library.googlecode.com/svn/trunk/markermanager/release/src/markermanager.js');
$.getScript('http://maps.google.com/maps?file=api&v=2&async=2&callback=mapLoaded&sensor=true_or_false&key=ABC');
}
function mapLoaded() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(18, -77.4), 13);
map.setUIToDefault();
var mgr = new MarkerManager(map);
mgr.addMarkers(getWeatherMarkers(), 5); //gets some marker from another function
mgr.refresh();
}
}
我的萤火得到的错误JavaScript调试器是:
GBounds没有定义 [关于该错误BREAK] GBounds.prototype.containsPoint =函数(点){\ nmarkerma ... 109501758(线377)
me.getMapGridBounds_不是一个函数 [关于该错误BREAK] me.shownBounds_ = me.getMapGridBounds _(); \ n markerma ... 109501758(线106)
如果我静态加载JavaScript库也会出现此错误。
谢谢,
解决方案
有两个问题你的代码,我看到的。
首先,在不使用MarkerManager的最新VERSON。这里使用的新的:
HTTP:// gmaps -utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js
其次,MarkerManager库需要首先被加载的Google地图API。
切换顺序(我不认为这会工作)启动:
$.getScript('http://maps.google.com/maps?file=api&v=2&async=2&callback=mapLoaded&sensor=true_or_false&key=ABC');
$.getScript('http://gmaps-utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js');
但更可能的是,你需要这样的:
function initialize() {
$.getScript('http://maps.google.com/maps?file=api&v=2&async=2&callback=mapLoaded&sensor=true_or_false&key=ABC');
}
function mapLoaded() {
$.getScript('http://gmaps-utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js', function(){
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(18, -77.4), 13);
map.setUIToDefault();
var mgr = new MarkerManager(map);
mgr.addMarkers(getWeatherMarkers(), 5); //gets some marker from another function
mgr.refresh();
}
});
}
不隶属于 StackOverflow