JQuery, Google Maps: «Невозможно вызвать методы в gmap до инициализации» - PullRequest
1 голос
/ 21 июля 2011

У меня есть проблема, которую я пытался выяснить некоторое время.

Есть блок кода, который работает нормально, но потом, если я добавлю в него немного JQuery, он потерпит крах.

Я получаю следующую ошибку: «Uncaught не может вызывать методы в gmap до инициализации; попытка вызова метода addMarker»

Неисправный код начинается с "$ .each (markersList.markers",

Буду признателен за любую помощь, чтобы указать мне в правильном направлении. Спасибо!

function initialize() {
var myOptions = {
    zoom: 7,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

$.each(markersList.markers,
      function(map, marker) {
          var destination = (marker.lat + ', ' + marker.lng);
          $('#map_canvas').gmap('addMarker',
          { 'position': new google.maps.LatLng(marker.lat, marker.lng), 'title': marker.title }, function(map, marker) {
               $('#map_canvas').gmap('addInfoWindow',
                  { 'content': null }, function(iw) {
                      $(marker).click(function() {iw.open(map, marker);
                          map.panTo(marker.getPosition());
                          $('#to').val(destination);
                          alert("You've selected " + marker.title + " as your destination. Please enter the origin");
                      });
               });
          });
      });

if (navigator.geolocation) {
    browserSupportFlag = true;
    navigator.geolocation.getCurrentPosition(function(position) {
        initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
        contentString = "Your location was found and has been added to starting point.";
        map.setCenter(initialLocation);
        $('#from').val(initialLocation);
    }, function() {
        handleNoGeolocation(browserSupportFlag);
    });

1 Ответ

1 голос
/ 21 июля 2011

У меня была похожая проблема с моей, я сделал создание функции инициализации как отдельной функции от остальной части кода, когда страница загружается, я вызываю Initialize () и в конце функции, которую я вызываю searchLocations ( ), который добавляет все маркеры на карту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...