Разбор XML на карту Google для создания нескольких маркеров - PullRequest
0 голосов
/ 22 марта 2012

Здравствуйте, дамы и господа,

Сегодняшняя проблема заключается в следующем:

    GDownloadUrl("http://www.mysite/map.php", 

    function(data) {
      var xml = GXml.parse(data);
      //var markers = xml.documentElement.getElementsByTagName("marker");

      //for (var i = 0; i < markers.length; i++) {
        //var address = new GLatLng(parseFloat(markers[i].getAttribute("location")));

        //var latlong = address.split(",");            

        //var latlongtomap = new GLatLng(parseFloat(latlong[0]), parseFloat(latlong[1]));

        var latlongtomap = new GLatLng(51.477711,-3.176555);

        var marker = createMarker(latlongtomap);

        map.addOverlay(marker);
     // }
    });
  }
}

Если я выполню это, он получит координаты широты и долготы и создаст для меня маркер на карте.Однако, если я попытаюсь получить вкладку «location» из моего php-скрипта (используя весь закомментированный код):

map.php

<?php
mysql_connect("", "", "") or die(mysql_error());
mysql_select_db("") or die(mysql_error());

$query = "SELECT MAPADDRESS FROM report";
$result = mysql_query($query) or die(mysql_error());

$doc = new DomDocument('1.0');
$node = $doc->createElement("markers");
$parnode = $doc->appendChild($node);
header("Content-type: text/xml");

while($row = mysql_fetch_array($result)){
   $node = $doc->createElement("marker");
   $newnode = $parnode->appendChild($node);
   $newnode->setAttribute("location", $row['MAPADDRESS']);
}
print $doc->saveXML();
?>

результаты этого будут:

<markers>
   <marker location="51.477711,-3.176555"/>
   <marker location="51.472512,-3.187527"/>
   <marker location="51.471057,-3.186263"/>
   <marker location="51.473261,-3.192219"/>
</markers>

Почему код не будет правильно читать этот php?

Спасибо за вашу помощь !!

Хем

1 Ответ

0 голосов
/ 22 марта 2012

попробуйте вместо этого:

var latlong = markers[i].getAttribute("location").split(",");            
var latlongtomap = new GLatLng(parseFloat(latlong[0]), parseFloat(latlong[1]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...