Форматировать пробелы в динамической переменной в дефисы в функции возврата на карте Google - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь отформатировать и заменить пробелы в выходных данных + marker.title + и изменить их на hypens (-) для динамического открытия модальной зоны.Например, Сан-Диего преобразован в Сан-Диего .Любая помощь будет принята с благодарностью.

Не уверен, сколько кода вам нужно увидеть, но вот весь цикл.Спасибо.

    $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));

1 Ответ

0 голосов
/ 08 июня 2018

Я понимаю, что вы хотели бы изменить эту строку кода JavaScript

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

Чтобы заменить пустые места на -, вам следует использовать функцию String.replace () в сочетании с регулярным выражением для пустой строки /\s/.Итак, ваш код должен быть изменен на

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

Подтверждение концепции:

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

Надеюсь, это поможет!

...