2012-04-17 2 views
1

Drupal 사이트 용으로이 애플리케이션을 개발 중입니다. api 사이트의 예제를 사용하여, 고정 된 HTML로 고정 된 javascript로 잘 작동하는 맵을 얻었다. 하지만 실제로 아약스를 사용해야하고 동일한 데이터가있는 아약스 함수는 회색 상자 만 표시합니다.Google지도가 회색 상자로 표시됩니다.

alert()을 사용하여지도 센터와 줌처럼 아약스 호출을 통해 데이터가 제대로 작동하고 있음을 확인했습니다. 하나의 주요 차이점은 구글의 예제에 따라 태그에 onload = "fcn()"을 사용했지만, jquery "document.ready (function() {"를 사용해야한다는 것입니다. js 파일 대신에 함수가 정의되어 있지 않습니다.이 함수를 사용해 보았을 때 트리거 된 적이 없었습니다.이 코드는 함수를 사용해야합니까? 물론 많은 자바 스크립트 경험이 없습니다. 여기에 js가 있습니다. 데이터에는 몇 가지 매개 변수가 있으며 두 번째는 위도, 세 번째는 경도이며 마지막에는 마커 제목이 있습니다.

PS - 내가 마지막 세트를 가져올 수 없는지 확실하지 않습니다.}); 코드 상자에 표시합니다.

jQuery(document).ready(function() { 

    jQuery.get('http://www.example/get_customer_geo', function(result) { 

     var rows = result.split(';'); 
     var parms = rows[0].split(','); 
     var midlat = parseFloat(parms[0]); 
     var midlon = parseFloat(parms[1]); 
     var LatlngCtr = new google.maps.LatLng(midlat,midlon); 
     var zoomval = parms[2]; 
     var latitude = rows[1].split(','); 
     var longitude = rows[2].split(','); 
     var titles = rows[3].split(','); 
     var myLatlng = new Array(); 
     var marker = new Array(); 

     for (i=0; i<latitude.length; i++) 
     { 
      myLatlng[i] = new google.maps.LatLng(parseFloat(latitude[i]),parseFloat(longitude[i])); 
     } 

     var myOptions = { 
      zoom: zoomval, 
      center: LatlngCtr, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(document.getElementById("map_terr"), myOptions); 

     for (i=0; i<latitude.length; i++) 
     { 
      marker[i] = new google.maps.Marker({ 
      position: myLatlng[i], 
      map: map, 
      title: titles[i] 
      }); 

     } 
    }); 
    }); 

답변

1

<Body onload=“initialize()”> 중 하나를 사용할 수 없습니다. 나는 주식 function initialize()를 떠나 단지 google.maps.event.addDomListener(window, "load", initialize);

+0

"jQuery (document) .ready (function() {"을 함수 선언으로 바꾸고 리스너를 추가하려고 시도했습니다.} 동일한 동작이 발생했습니다. 배열 및 MyOptions를 표시 할 수 있지만, 방법을 사용하여지도 인스턴스가 제대로 인스턴스화되었는지 확인하십시오. – user1084007

+0

오류가 발생하는지 Firebug에서 확인하셨습니까? – djmadscribbler

+0

오류가 없습니다. 크롬으로 개발 중입니다. – user1084007

0

그냥 우리에게 링크를 제공하고 우리가 어두운 =) 덕분에 낚시를 중지 할 수 있습니다 내지도 스크립트의 마지막 부분으로,이 청취자를 추가, 코드 나

+0

불행히도이 사이트는 VPN 뒤에 있습니다. 페이지 소스의 복사본이 유용 할 것입니까? – user1084007

+0

@ user1084007 : VPN 뒤에있는 경우 Google에서 직접 지원하는 Google 프리미어 계정이 있거나 개발 준비가 완료된 상태 여서 공개 될 예정인 경우 시위자를 지금 당장 집어 넣고 (필요하다면 tinyurl URL을 게시하십시오.) 공개되지 않아야하고 Bu가 없다면 siness 라이센스를 사용하면 이용 약관을 위반하게됩니다. –

+0

사실, 우리는 라이센스를 구매하는 중입니다. 관료주의를 통해 일하는 데는 그 비용이 오래 걸립니다. 그러나 Google은 Google 판매에 대해 연락을하고 계약을 체결했습니다. 그들은 내게 개발을위한 시간을 갖기를 원했지만 아직 사용하지는 않았습니다. 간단한 해결책을 원했지만 계약이 성립되지 않을 경우 곧 Google 지원팀과 협력하게 될 것입니다. – user1084007

0

에 대한 확인을 보이는 지도의 좌표가 정의되었는지 확인하여 동일한 문제를 해결했습니다. 내지도가 회색으로 표시되는 이유는 브라우저가 위치 정보를 제공하지 않기 때문입니다. 위도와 경도의 기본값을 설정하고지도가 나타납니다.

관련 문제