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

问题描述 投票:-1回答:1

我正在开发一个Google地图,使用自定义标记图标显示工作地点。

这是我用来设置变量'markerIcon'和'type'名称(管理)的代码片段:

之前

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'名称不兼容管理和文书:

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类型。这工作正常,标记图标出现。

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

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

我尝试了像%20这样的特殊字符,但不出所料,代码讨厌任何特殊字符。我也试过引用数字,但是它们没有显示,我尝试连接两个变量,但是不知道如何在这个类型的操作中引用另一个变量中的变量。

javascript google-maps google-maps-markers
1个回答
0
投票

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

$jobsector = str_replace("_", " ", $row['jobsector_name']);

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

© www.soinside.com 2019 - 2024. All rights reserved.