Google Maps API 3 Javascript Добавление полигона - PullRequest
0 голосов
/ 20 октября 2011

Я строю многоугольник из листа XML.Я получаю эту ошибку:

Сообщение: недопустимое значение для параметра конструктора 0: (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 Ответ

1 голос
/ 10 сентября 2012

Я думаю, что в первом случае ваш var triangleCoords создается только как элемент LatLng (см. здесь ), в то время как вам нужен массив LatLng, который вы правильно делаете во втором описанном вами способе. , Попробуйте добавить каждую точку цикла for в предопределенный массив и используйте его.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...