2013-04-03 15 views
2

Я обновляю google maps api от v2 до v3. по какой-то причине моя карта не будет загружаться. Я следил за контурами кода через api и некоторые другие местоположения.Google map api v3 not loading

вот мой код: я правильно помещаю вары? любая помощь? карта может быть найдена на Casadragones

var marker; 
function load() { 

    //get $result from browserdetect.php 
    //if (GBrowserIsCompatible()) { 
    // *** if (is_browser_compatible()){ *** 
    geocoder = new google.maps.Geocoder(); 
    //geocoder = new GClientGeocoder(); 
    var mapOptions = { 
    zoom: 2,   
    center: new google.maps.LatLng(40.513799, -35.375977), 
    mapTypeControl: true, 
    panControl: true; 
    zoomControl: true; 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    mapobj = new google.maps.Map(document.getElementById('map'), mapOptions); 
    /* 
    mapobj = new GMap2(document.getElementById('map')); 
    mapobj.addControl(new GLargeMapControl3D()); 
    mapobj.addControl(new GMapTypeControl()); 
    //mapobj.setCenter(new GLatLng(28.728149, -88.992889),3); // old 
    mapobj.setCenter(new GLatLng(40.513799, -35.375977), 2); // center in Atlantic in order to show US and UK   
    */ 
     // Change this depending on the name of your PHP file 
     /*GDownloadUrl("<? bloginfo('template_url'); ?>/phpsqlsearch_genxml.php", function(data) { 
     var xml = GXml.parse(data);*/ 
     downloadUrl("<? bloginfo('template_url'); ?>/phpsqlsearch_genxml.php", function(data) { 
     var xml = parseXml(data); 
     var markers = xml.documentElement.getElementsByTagName('marker'); 

     for (var i = 0; i < markers.length; i++) { 
     var name = markers[i].getAttribute("name"); 
     var address = markers[i].getAttribute("address"); 
     var city = markers[i].getAttribute("city"); 
     var state = markers[i].getAttribute("state"); 
     var zipcode = markers[i].getAttribute("zipcode"); 
     var phone = markers[i].getAttribute("phone"); 
     var pairing = markers[i].getAttribute("pairing"); 
     var type = markers[i].getAttribute("type"); 
     var point = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")), 
           parseFloat(markers[i].getAttribute("lng"))); 
     //var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), 
     //      parseFloat(markers[i].getAttribute("lng"))); 
     marker = createMarker(point, name, address, city, state, zipcode, phone, type); 
     marker.setMap(mapobj); 
     //mapobj.addOverlay(marker); 
     } 
    }); 
    //} 
} 

Dóm событий и все остальное находятся в другом месте. Я думаю, что это самый сложный код.

ответ

1

Ваша карта не загружается, потому что ни один из ваших кодов не запущен. Посмотрите внимательно на эти строки:

var mapOptions = { 
    zoom: 2,   
    center: new google.maps.LatLng(40.513799, -35.375977), 
    mapTypeControl: true, 
    panControl: true; 
    zoomControl: true; 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
} 

Вы видите эту проблему? Если нет, откройте Инструменты разработчика в Chrome или аналогичные инструменты разработчика в любом браузере и загрузите свою страницу. Вы должны получить сообщение об ошибке, указывающее на проблему.

Не ошибка сама по себе, но также должно быть ; после закрытия }.

Кроме того, вам не хватает var объявлений по некоторым из ваших переменных: mapobj и geocoder например. Кроме того, var marker не принадлежит вне этой функции; переместите его внутрь.

Какой редактор вы используете для редактирования своего кода? Я рекомендую редакторов, которые проводят проверку синтаксиса в реальном времени, например Komodo Edit, Komodo IDE или IntelliJ IDEA. Когда я вставлял ваш код в IDE Komodo, он сразу же помещал красноватые подчеркивания в синтаксические ошибки.

+0

Я использую Notepad ++. Спасибо вам за помощь. Я вижу проблему! var mabobj и геокодер объявлены выше этого раздела вне функции. если они тоже войдут внутрь? Я загружу Komodo IDE как можно скорее –

Смежные вопросы