使用.php MySQL添加自定义.png标记以映射

时间:2017-05-27 22:04:12

标签: javascript php mysql google-maps google-maps-api-3

我使用以下代码将标记添加到地图中,它工作正常,但我想在我的数据库中为标记图标添加另一个字段,以便我可以为数据库中的每个条目显示自定义标记图标。

在查询数据库时,是否有人知道每个项目的自定义.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");
     }
?>

2 个答案:

答案 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资源中获取标记图像。