我使用以下代码将标记添加到地图中,它工作正常,但我想在我的数据库中为标记图标添加另一个字段,以便我可以为数据库中的每个条目显示自定义标记图标。
在查询数据库时,是否有人知道每个项目的自定义.png标记需要“回显”的内容?
<?php
$query = mysqli_query($conn, "SELECT * FROM table")or die(mysql_error());
while($row = mysqli_fetch_array($query)) {
$logo = $row['logo'];
$company = $row['company'];
$lat = $row['lat'];
$lon = $row['lon'];
$desc = $row['desc'];
echo("addMarker($lat, $lon, '<b>$logo</b><b>$company<br />$desc');\n");
}
?>
答案 0 :(得分:1)
在表中添加另一个名为“marker”的字段(如果没有为该行明确指定自定义标记,则可能使用默认值“marker.png”)。然后,在JS中包含您回显给客户端的自定义标记的名称:
`
$query = mysqli_query($conn, "SELECT * FROM table")or die(mysql_error());
while($row = mysqli_fetch_array($query)) {
$logo = $row['logo'];
$company = $row['company'];
$lat = $row['lat'];
$lon = $row['lon'];
$marker = $row['marker'];
$desc = $row['desc'];
echo("addMarker($lat, $lon, $marker, '<b>$logo</b><b>$company<br />$desc');\n");
}
&GT;`
然后在你的addMarker()JS函数中,用户$ marker在地图上写出一个显示图像的图像标记。
答案 1 :(得分:0)
您需要图像的完整地址。例如,如果您的网站存储在www.example.com上,在http协议上,您在images / markers文件夹上有这些标记,并且您将文件名存储在数据库中,您可以使用:
(在PHP上设置文本):
$ icon ='http://www.example.com/images/marker/'。 $行[ '图标']; //使用文件名ex marker1.png读取名为icon的数据库行 在此之后,我理解你对google.maps.Marker()的addMarker函数调用,在这一个上,设置一个名为icon的新参数,并在其上设置创建的$ icon字符串。
请记住:如果您在http上加载页面,则可以在http或https上加载标记。但是如果你加载https,你可以从http资源中获取标记图像。