2011-10-20 4 views
0

XML 시트에서 다각형을 작성합니다. 생성자 매개 변수에 0 값이 잘못 :Google Maps API 3 Javascript 다각형 추가

메시지 :이 오류가 점점 오전 (15.850885, -97.058372) 여기

은 내 코드입니다 :

downloadUrl(searchUrl, function(data) { 
    var xml = parseXml(data); 
    var triangleNodes = xml.documentElement.getElementsByTagName("triangle"); 
    for (var i = 0; i < triangleNodes.length; i++) { 
    var trianglelatlng = new google.maps.LatLng(
      parseFloat(triangleNodes[i].getAttribute("triangle_lat")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lng")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lat1")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lng1")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lat2")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lng2")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lat")), 
      parseFloat(triangleNodes[i].getAttribute("triangle_lng"))); 
      createTriangle(trianglelatlng); 
      } 

당신은 내가 건설하고 여기에서 볼 수 있듯이 내 다각형 배열.

지금 내지도에 다각형을 추가하려고 오전 :

function createTriangle(trianglelatlng) { 
    var html2 = "<div id='infodiv'>HelloMatt</div>"; 
    var triangle = new google.maps.Polygon({  
     paths: trianglelatlng,  
     strokeColor: "#FF0000",  
     strokeOpacity: 0.8,  
     strokeWeight: 2, 
     zIndex: 7,  
     fillColor: "#FF0000",  
     fillOpacity: 0.35 
     }); 

triangle.setMap(map); 

을하지만 내가지도에 표시됩니다 같은 다각형 다음과 같이 정적 배열을 추가합니다.

var triangleCoords = [ 
    new google.maps.LatLng(25.774252, -80.190262), 
    new google.maps.LatLng(18.466465, -66.118292), 
    new google.maps.LatLng(32.321384, -64.75737), 
    new google.maps.LatLng(25.774252, -80.190262) 
    ]; 

또한 전역 변수에서 var 삼각형을 선언했습니다. 배열을 구성하는 방식에 문제가 있는지 확신합니다. 바라건대 누군가가 다각형을 구성하고 당신이 정확하게

답변

1

나는 첫 번째 경우에 var에 triangleCoords는 LatLng 요소 당신이하는 LatLng의 배열을 필요로하면서 (here를 참조)만을 생성하고 있다고 생각 올바른 방향으로 날 지점 수 당신이 묘사하는 두 번째 방법으로 만듭니다. for 루프의 각 포인트를 미리 정의 된 배열에 추가하여 사용하십시오.

희망 하시겠습니까?