Beste forumleden,
Ik gebruik Google Maps via PHP/MySQL. De markers voor Google Maps voer ik in de database en deze worden dan op de kaart weergegeven.
Voor de inhoud van die infomarkers heb ik een stukje html (voor de opmaak en om een plaatje weer te geven) alleen deze kan ik niet in de database opslaan: ik kan niet alle tekens kwijt en er verschijnt geen infowindow met de tekst er in. Zal misschien een stukje php code zijn of iets in de database:
Database:
CREATE TABLE modelspoorkaart (
id int(11) NOT NULL auto_increment,
lat decimal(10,6) NOT NULL default '0.000000',
lon decimal(10,6) NOT NULL default '0.000000',
description varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
PHP Code:
<html>
<head>
<title>Nederlandse Modelspoorkaart</title>
<script src="http://maps.google.com/maps?file=api&v=1&key=[your Google Maps key]" type="text/javascript"></script>
</head>
<body>
<p><strong>Nederlandse Modelspoorkaart</strong></p>
<div id="map" style="width: 800px; height: 600px"></div>
<script type="text/javascript">
//<![CDATA[
var map = new GMap(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint(-0.14110, 51.512161), 6);
// Creates a marker whose info window displays the given number
function createMarker(point, number)
{
var marker = new GMarker(point);
// Show this markers index in the info window when it is clicked
var html = number;
GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
return marker;
};
<?php
$link = mysql_connect("localhost", "matthijs", "******")
or die("Could not connect: " . mysql_error());
mysql_selectdb("matthijs",$link) or die ("Can\'t use dbmapserver : " . mysql_error());
$result = mysql_query("SELECT * FROM modelspoorkaart",$link);
if (!$result)
{
echo "no results ";
}
while($row = mysql_fetch_array($result))
{
echo "var point = new GPoint(" . $row['lon'] . "," . $row['lat'] . ");\n";
echo "var marker = createMarker(point, '<div id=\"infowindow\" style=\"white-space: nowrap;\">" . addslashes($row['description']) . "</div>');\n";
echo "map.addOverlay(marker);\n";
echo "\n";
}
mysql_close($link);
?>
//]]>
</script>
</body>
</html>
mvg,
Matthijs van Heijningen
|