2011-03-29 7 views
2

안녕하세요, 회원 위치에 Google Maps API v3을 사용하는 웹 사이트가 있습니다.IE의 Google Maps API v3 문제

그러나 Internet Explorer에서 나는이 문제의 몇 : _

Message: Invalid property value. 
Line: 33 
Char: 212 
Code: 0 
URI: http://maps.gstatic.com/cat_js/intl/en_gb/mapfiles/api-3/4/7/%7Bmain,geometry%7D.js 

이것은이다 : 웹 사이트 그것이 errror을 (만 IE에서) 발생 자바 스크립트를로드

1 .- http://maps.google.com/maps/api/js?libraries=geometry & 센서이

사실 = 다음 JS I 로딩 해요 해당 파일의 마지막 부분 (문제를 일으키는 부분) :

[...] 
var loadScriptTime = (new Date).getTime(); 
getScript("http://maps.gstatic.com/cat_js/intl/en_gb/mapfiles/api-3/4/7/%7Bmain,geometry%7D.js"); 
})(); 

2 .-지도로드 및 올바른 위치를 표시하지만 모든 컨트롤을 표시하지 않습니다와 상호 작용할 수 없습니다 지도 (이것은 아마도 첫 번째 오류 때문일 것입니다)

아무도 그 문제를 해결할 방법을 알고 있습니까?

감사합니다.

function initialize() { 

    london = new google.maps.LatLng(51.5, 0); 
    uk = new google.maps.LatLng(55.7, -4); 

    var myOptions = { 
     backgroundColor: '#FFFFF', 
     zoom: 12, 
     navigationControl: true, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map_canvas = document.getElementById("map_canvas"); 

    map = new google.maps.Map(map_canvas, myOptions); 


    google.maps.event.addListener(map, 'mouseover', function(event) { 
     $(map_canvas).ancestors()[0].addClassName("bigGMap"); 
    }); 

    google.maps.event.addListener(map, 'mouseout', function(event) { 
     $(map_canvas).ancestors()[0].removeClassName("bigGMap"); 
    }); 


    google.maps.event.addListenerOnce(map, 'click', function(event) { 
     placeMarker(event.latLng); 
    }); 

    getMyLocation(); 


} 

function getMyLocation() 
{ 
    // Try W3C Geolocation (Preferred) 
    if(navigator.geolocation) { 
     browserSupportFlag = true; 
     navigator.geolocation.getCurrentPosition(function(position) { 
      initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
      map.setCenter(initialLocation); 
     }, function() { 
      handleNoGeolocation(browserSupportFlag); 
     }); 
     // Try Google Gears Geolocation 
    } else if (google.gears) { 
     browserSupportFlag = true; 
     var geo = google.gears.factory.create('beta.geolocation'); 
     geo.getCurrentPosition(function(position) { 
      initialLocation = new google.maps.LatLng(position.latitude,position.longitude); 
      map.setCenter(initialLocation); 
     }, function() { 
      handleNoGeoLocation(browserSupportFlag); 
     }); 
     // Browser doesn't support Geolocation 
    } else 
    { 
     browserSupportFlag = false; 
     handleNoGeolocation(browserSupportFlag); 
    } 

} 

function handleNoGeolocation(errorFlag) { 
    map.setZoom(6), 
    map.setCenter(uk); 
    map.setMapTypeId(google.maps.MapTypeId.ROADMAP); 
} 


function loadMapScript() { 
    var map_api = document.createElement("script"); 
    var gears = document.createElement("script"); 

    map_api.type = "text/javascript"; 
    map_api.src = "http://maps.google.com/maps/api/js?libraries=geometry&sensor=true&callback=initialize"; 

    gears.type = "text/javascript"; 
    gears.src = "http://code.google.com/apis/gears/gears_init.js"; 

    document.body.appendChild(map_api); 
    document.body.appendChild(gears); 
} 
:

편집 -------------------------- 여기

내가지도를로드하는 데 사용하는 기능은 다음과 같습니다

+0

오류가 Google 코드에 표시 되더라도지도를 초기화 할 때 문제가 페이지에있을 가능성이 큽니다. 그 코드를 보여줄 수 있습니까? –

+0

@ Pekka 방금지도를로드하는 데 사용하는 함수를 추가했습니다. – SERPRO

+0

JS Framework로 프로토 타입을 사용하고 있습니까? – kjy112

답변

4

좋아, 마침내 문제가 발견되었습니다. 내가 6 대신 5 F의 '#FFFFF'을했다 backgroundColor로에서 기능

function initialize() { 

    london = new google.maps.LatLng(51.5, 0); 
    uk = new google.maps.LatLng(55.7, -4); 


    var myOptions = { 
     backgroundColor: '#FFFFFF ', 
     zoom: 12, 
     navigationControl: true, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    [...] 

를 초기화 에서의 '#FFFFFF'. 그리고 그게 다야. 미안 해요. 그러나 누군가가 그 문제에 많은 시간을 낭비하지 않도록 도울 수 있기를 바랍니다.

관련 문제