On Oct 27, 7:02 am, Joice <[EMAIL PROTECTED]> wrote:
> Hello all,
>
> I have created a Postgres/Postgis database where I store the limits of
> my home town neighbourhoods. A simple register looks like this:
>
> gis=# SELECT astext(limites) as limite FROM bairros WHERE
> nome='TESTE';
>
> limite
> ---------------------------------------------------------------------------­-----------------------------------------------
>  POLYGON((-29.469492 -51.977177,-29.461422 -51.985847,-29.456638
> -51.976147,-29.460749 -51.969109,-29.469492 -51.977177))
> (1 registro)
>
> Then I wrote a very simple PHP program which does some string magic,
> so I get this select in an XML format:
>
> require("conecta.php"); // get conection data
> $connection = pg_connect("host=$host dbname=$database user=$username
> password=$password");
> if (!$connection) {
>   die("Impossivel conectar : " . psql_error());}
>
> $query = sprintf("SELECT astext(limites) as limite FROM bairros WHERE
> nome='TESTE'");
> $result = pg_query($query);
> if (!$result) {
>  die('Busca invalida: ' . psql_error());
>
> }
>
> header("Content-type: text/xml");
>
> while ($row = @pg_fetch_assoc($result)){
> $resultado=$row[limite];
> $resultado=str_replace("))",")]",$resultado);
> $resultado=str_replace(",","<br>",$resultado);
> $resultado=str_replace(" ",",",$resultado);
> $resultado=str_replace("POLYGON(","[new GLatLng",$resultado);
> $resultado=str_replace("<br>","), new GLatLng(",$resultado);
> $resultado="<markers><marker bairro=\"".$resultado."\" /></markers>";
> echo $resultado;}
>
> ?>
>
> Note: the replaces could be done in an easier way, I left like this
> for debugging...
>
> The output of this program is:
>
> <markers><marker bairro="[new GLatLng(-29.469492,-51.977177), new
> GLatLng(-29.461422,-51.985847), new GLatLng(-29.456638,-51.976147),
> new GLatLng(-29.460749,-51.969109), new
> GLatLng(-29.469492,-51.977177)]" /></markers>
>
> So, I have this in my program:
>
> var map;
> (...)
>     function load() {
>       if (GBrowserIsCompatible()) {
>         //cria a variável map instanciando a classe GMap2
>         map = new GMap2(document.getElementById("map"));
>         map.addControl(new GSmallMapControl());
>         map.addControl(new GMapTypeControl());
>         map.setCenter(new GLatLng(-29.459796, -51.977799),14);
> (...)
>       loadBairros();
> (...)
> function loadBairros(){
>         GDownloadUrl("poli_xml.php"+"?NoCache="+escape(Date()),
> function(data) {
>           var xml = GXml.parse(data);
>           var markers =
> xml.documentElement.getElementsByTagName("marker");^M
>           for (var i = 0; i < markers.length; i++) {
>             var bairro = markers[i].getAttribute("bairro");
>             var polygon = new GPolygon(bairro, null, 3, 0.7,
> "#cccccc", 0.5 );
>             map.addOverlay(polygon);
>          }//for
>         });//GDownloadUrl
>
> This doesn't work.
>
> If I replace var bairro with:
>
> var bairro = [new GLatLng(-29.469492,-51.977177), new
> GLatLng(-29.461422,-51.985847), new GLatLng(-29.456638,-51.976147),
> new GLatLng(-29.460749,-51.969109), new
> GLatLng(-29.469492,-51.977177)];
>
> It works. So I am doing something wrong when parsing the xml document.
> I use this kind of thing with my markers, following several examples
> given here and all works fine. I just am not able to find what I am
> doing wrong with this polygon.

var bairro = markers[i].getAttribute("bairro");
Is a string.
var bairro = [new GLatLng(-29.469492,-51.977177), new
GLatLng(-29.461422,-51.985847), new GLatLng(-29.456638,-51.976147),
new GLatLng(-29.460749,-51.969109), new
GLatLng(-29.469492,-51.977177)];

Is an array of GLatLng.

If that doesn't help, follow the posting guidelines and post a link to
your map, not code...

  -- Larry


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Google-Maps-API?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to