Карты Google и Markermanager выдают ошибку
-
19-09-2019 - |
Вопрос
Я использую API карт Google вместе с МаркерМенеджер.Я загружаю две библиотеки JavaScript с помощью JQuery.
Вот мой 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 Firebug:
Gbounds не определяется [разорвать эту ошибку] gbounds.prototype.containspoint = function (point) { nmarkerma ... 109501758 (строка 377)
me.getmapgridbounds_ не является функцией [разорвать эту ошибку] me.shownbounds_ = me.getmapgridbounds _ (); n markerma ... 109501758 (строка 106)
Эта ошибка также возникает, если я статически загружаю библиотеку javascript.
Спасибо,
Решение
Я вижу две проблемы с вашим кодом.
Во-первых, вы используете не новейшую версию MarkerManager.Используйте новый здесь:
http://gmaps-utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js
Во-вторых, библиотека MarkerManager требует, чтобы сначала был загружен API GoogleMaps.
Начните с изменения порядка (не думаю, что это сработает):
$.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();
}
});
}