[mapserver-users] drawing layer with user names from mysql table
Jan Mantkowski
jan.mantkowski at gmx.de
Wed Mar 20 05:34:36 PST 2002
Steve,
i had that error befor. Should have know better.
I fixed it by adding this line:
$map
=ms_newMapObj("c:/Apache/htdocs/pn_71/html/modules/map/data/europe.map");
The only thing that changed is the error message:
Warning: MapServer Error in : in
c:\apache\htdocs\pn_71\html\modules\map\index-standalone3.php on line 29
Fatal error: getLayerByName failed for : PNUsers in
c:\apache\htdocs\pn_71\html\modules\map\index-standalone3.php on line 29
line 29 still is: $layer = $map->getLayerByName( $layerName );
And now? Anny suggstions?
Thanks,
Jan
This is the dump of the mysql table:
CREATE TABLE nuke_map (
pn_name varchar(20) NOT NULL default '',
pn_lat varchar(15) NOT NULL default '',
pn_lon varchar(15) NOT NULL default '',
PRIMARY KEY (pn_name)
) TYPE=MyISAM;
# Dumping data for table `nuke_map`
INSERT INTO nuke_map VALUES ('Jan London', '51.5063', '-0.1271');
INSERT INTO nuke_map VALUES ('Jose Madrid', '40.4203', '-3.7057');
INSERT INTO nuke_map VALUES ('Madeleine Paris', '48.8547', '2.3453');
INSERT INTO nuke_map VALUES ('Fritz Hamburg', '53.5548', '9.9898');
This is the whole code:
<?php
// load .dll`s, so there is no need to edit the php.ini.
// but you need to put this files in your /php/extensions folder
dl("php_mapscript_35.dll");
dl("php_proj.dll");
dl("php_dbase.dll");
//variables
GLOBAL $map;
GLOBAL $image;
GLOBAL $layer;
$layerName="PNUsers";
$map
=ms_newMapObj("c:/Apache/htdocs/pn_71/html/modules/map/data/europe.map");
//mysql_q
$db = mysql_connect("localhost", "root", "");
mysql_select_db("Rogue",$db);
$results = mysql_query("SELECT * FROM nuke_map",$db);
if ($results === false) die("failed");
//display result of mysql query on screen
while ($show = mysql_fetch_array($results, MYSQL_ASSOC)) {
echo
$show["pn_lon"]." ".$show["pn_lat"]." &nbs
p; ".$show["pn_name"]."<br>\n";
}
//drawPoints
$layer = $map->getLayerByName( $layerName );
// Loop through result of point query and:
while ($line = mysql_fetch_array($results, MYSQL_ASSOC)) {
$pt = ms_newPointObj();
$pt->setXY( $line["pn_lon"], $line["pn_lat"] );
$pt->draw($map, $layer, $image, 0, "TEST");
$layer->set('status', MS_ON);
$layer->draw($image);
}
//showmap
$map = ms_newMapObj("data/europe.map");
$image=$map->draw();
//$layer->draw($image);
$image_url=$image->saveWebImage(MS_PNG,1,1,0);
echo "<img src=\"".$image_url."\">";
?>
More information about the MapServer-users
mailing list