谷歌地图中的标记图像取决于列值

时间:2015-03-31 19:14:26

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

我找到了一个可以在谷歌地图中创建标记的脚本。标记从数据库加载。脚本的一部分如下:

    //Load Markers from the XML File, Check (map_process.php)
        $.get("map_process.php", function (data) {
            $(data).find("marker").each(function () {
                  var name      = $(this).attr('name');
                  var address   = '<p>'+ $(this).attr('address') +'</p>';
                  var type      = $(this).attr('type');
                  var door      = $(this).attr('door');
                  var point     = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lng')));
                  create_marker(point, name, address, false, false, false, "http://www.example.com/marker/icons/A.png");
            });
        }); 

我可以选择3种类型&#39;通过创建标记,例如A,B和C.所有标记现在由A.png显示。我想知道是否可以根据类型制作标记图像。如果类型是A,则是A.png,如果是B,则是B.png,如果类型是C,则是C.png。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

也许有些if statements

//Load Markers from the XML File, Check (map_process.php)
        $.get("map_process.php", function (data) {
            $(data).find("marker").each(function () {
                  var name      = $(this).attr('name');
                  var address   = '<p>'+ $(this).attr('address') +'</p>';
                  var type      = $(this).attr('type');
                  var door      = $(this).attr('door');
                  var point     = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lng')));
               if(type == "A"){
                 create_marker(point, name, address, false, false, false, "http://www.example.com/marker/icons/A.png");
               } else if(type ="B"){
                 create_marker(point, name, address, false, false, false, "http://www.example.com/marker/icons/B.png");
               }           
            });
        }); 

只需将if statement放在$.get内,然后根据结果执行create_marker