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]
});
}
});
});
"jQuery (document) .ready (function() {"을 함수 선언으로 바꾸고 리스너를 추가하려고 시도했습니다.} 동일한 동작이 발생했습니다. 배열 및 MyOptions를 표시 할 수 있지만, 방법을 사용하여지도 인스턴스가 제대로 인스턴스화되었는지 확인하십시오. – user1084007
오류가 발생하는지 Firebug에서 확인하셨습니까? – djmadscribbler
오류가 없습니다. 크롬으로 개발 중입니다. – user1084007