在google map中将动态变量中的空格格式化为连字符中的连字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在google map中将动态变量中的空格格式化为连字符中的连字符相关的知识,希望对你有一定的参考价值。

我正在尝试格式化并替换+ marker.title +输出中的空格,并将它们更改为超级( - )以动态打开模态。例如圣地亚哥转换为圣地亚哥。任何帮助将不胜感激。

不知道你需要看多少代码,但这是整个循环。谢谢。

    $count = count($output);
            $i=1;
            echo 'var locations = [';
                foreach($output as $o) {
                    if ($i == $count) { $c = ''; } else { $c = ','; } 
                    echo json_encode($o) . $c;
                    $i++; 
                } 
            echo '];';
        ?>
        var marker, i;
        var infowindow = new google.maps.InfoWindow();

        google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
        });

     for (i = 0; i < locations.length; i++) {
       markericon = (locations[i][7] == 'undefined') ? '' : locations[i][7];

        marker = new google.maps.Marker({
            icon: markericon,
            position: new google.maps.LatLng(locations[i][5], locations[i][6]),
            map: map,
            title: locations[i][0],
        });

        google.maps.event.addListener(marker, 'click', (function(marker, i) {

            return function() {

                $('#'+marker.title+'').modal('show');

            }

        })(marker, i));
答案

我知道你想修改这行javascript代码

$('#'+marker.title+'').modal('show');

为了用-替换空格,你应该使用String.replace()函数和regular expression一起用于空字符串/s/。所以,你的代码应该改为

 ('#'+marker.title.replace(/s/ig, "-")+'').modal('show');

概念证明:

var title = "San Diego";
document.getElementById("result").innerhtml = title.replace(/s/ig, "-");
<div id="result">
</div>

以上是关于在google map中将动态变量中的空格格式化为连字符中的连字符的主要内容,如果未能解决你的问题,请参考以下文章

在 Google BigQuery 中将数字格式化为没有逗号 (1,000,000 -> 1000000)

SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML

如何使用 AppScript 在 BigQuery 中将 Google 工作表持久化为表格

在jQuery中将整数格式化为字符串数字[重复]

如何在java中将十进制数字格式化为两个小数点? [复制]

如何在 Scala 中将 Map 序列化为 JSON?