如何使用两个词来命名Google Map Marker图标类型?

时间:2019-03-21 14:43:28

标签: javascript google-maps google-maps-markers

我正在开发Google地图,以使用自定义标记图标显示工作位置。

以下是我用来设置变量“ markerIcon”和“类型”名称(管理性)的代码段:

之前

var markerIcon = {
        Administrative: {
        url: 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png'
        // scaledSize: new google.maps.Size(80, 80),
        // origin: new google.maps.Point(0, 0),
        // anchor: new google.maps.Point(32,65),
        // labelOrigin: new google.maps.Point(40,33)
        }
      };

这很好,所以下面的代码片段不能使用var'type'名称 Administrative and Clerical

之后

var markerIcon = {
            Administrative and Clerical: {
            url: 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png'
            // scaledSize: new google.maps.Size(80, 80),
            // origin: new google.maps.Point(0, 0),
            // anchor: new google.maps.Point(32,65),
            // labelOrigin: new google.maps.Point(40,33)
            }
          };

这是我遇到的问题。使用多个单词并带有空格。

下面是创建标记的函数:

function createMarker(latlng, name, company, address, type, jobdesc) {
  var jobButton = "<a class='btn btn-success btn-sm mt-2' role='button' href='/public/job_details_demo.php?" + "title=" + name + "'" + "target='_blank'>View Job" + "</a>";
  var html = "<h5 class='mb-0'>" + name + "</h5>" + "<h6 class='mb-0'>" + company + "</h6>" + "<p><b>" + address + "</b></p>" + "<b>Job Details:</b></br>" + jobdesc + "</p>" + jobButton;
  var icon = markerIcon[type] || {};
  var marker = new google.maps.Marker({
     map: map,
     position: latlng,
     icon: icon.url
  });
  google.maps.event.addListener(marker, 'click', function () {
  infoWindow.setContent(html);
  infoWindow.open(map, marker);
  });
  markers.push(marker);
}

要显示图标,我查询数据库以使用SQL检索“ jobsector_name” AS类型。这可以正常工作,并且显示标记图标。

但是,我需要在多个职位名称中使用多个单词,例如“行政和文书”。当我在数据库中将类型更改为此名称和“标记图标”名称时,标记不会显示,并且Chrome控制台中不会显示任何错误。

我的问题是,如何解决将两个或多个单词用作标记图标类型名称的问题?

我尝试了%20之类的特殊字符,但是毫不奇怪的是,代码讨厌任何特殊字符。我也尝试了引用数字,但是没有显示,并且我尝试了串联两个变量,但是不知道如何在这种类型的操作中引用另一个变量中的变量。

1 个答案:

答案 0 :(得分:0)

已解决: 在页面上显示名称时,我在每个单词(在MarkerIcon类型和数据库列值中)之间都添加了“ _”下划线,然后使用PHP命令“ str_replace”。

ffmpeg -f u8 -ar 24000 -ac 1 -i binary.raw -y audio.wav

PHP Manual - str_replace — Replace all occurrences of the search string with the replacement string