итерирование задачи в данных JSON, повторение одних и тех же данных снова и снова

Я использую утилиту Closure-Compiler для обфускации java-скрипта. Он минимизирует код и имеет больше возможностей для обфускации. Эта утилита доступна в коде Google по адресу ниже: Инструменты закрытия

Но теперь дни, когда я слышу большую часть UglifyJS. Вы можете найти различное сравнение между Closure Compiler и UglifyJS, в котором Uglify кажется победителем. UglifyJS: быстрый новый компрессор JavaScript для Node.js, который находится на грани с закрытием

Вскоре я бы дал шанс UglifyJS.

3
задан Barbie 17 January 2019 в 01:56
поделиться

2 ответа

Решил проблему с небольшим прикосновением.

var marker = new google.maps.Marker({
      map: map,
      icon: 'imgs/marker.png',
      url: "/pages/{{$est->id}}",
      label: {
          text: "{{$est->price}}",
          color: "#fff",
      },
      position: {
          lat: {{$est->lat}},
          lng: {{$est->lng}}
      }
});

Price - это varchar, поэтому этот цикл использовался в кавычках "{{$ est-> price}}", и теперь нужно также json.encode ...

0
ответ дан Barbie 17 January 2019 в 01:56
поделиться

Может быть, вам просто нужно обернуть цикл for вокруг него. Я не мог проверить это, потому что у меня нет кода PHP.

@foreach ($estates as $est)
for(let i = 0; i < estates.data.length; i++){
        var marker = new google.maps.Marker({
          map: map,
          icon: 'imgs/marker.png',
          url: "/pages/{{$est->id}}",
          label: {
              text: estates.data[i]
              color: "#fff",
          },
          position: {
              lat: {{$est->lat}},
              lng: {{$est->lng}}
          }
      });
}

 google.maps.event.addListener(marker, 'click', function () {
   window.location.href = this.url;
 });

Редактировать: Или вы можете попробовать отредактировать эту строку text: {{$est->data}}

Edit² : Просто удалите php и запускайте только в JavaScript? Я удалил цикл php foreach и просто попытался использовать объект javascript.

<script>
  var estates = <?php echo json_encode($estates);?>;

  function initMap(){
    var options =
        {
            zoom : 6,
            center : {lat:34.652500, lng:135.506302}
        };

    var map = new google.maps.Map(document.getElementById('map'), options);
    for(let i = 0; i < estates.length; i++){
    var marker = new google.maps.Marker({
              map: map,
              icon: 'imgs/marker.png',
              url: "/pages/"+estates[i].id,
              label: {
                  text: estates.data[0].price,
                  color: "#fff",
              },
              position: {
                  lat: estates[i].lat,
                  lng: estates[i].lng
              }
          });
     google.maps.event.addListener(marker, 'click', function () {
       window.location.href = this.url;
     });
    }
  }
</script>

Я надеюсь, что это помогает

0
ответ дан Lukas Germerott 17 January 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: