Я использую утилиту Closure-Compiler для обфускации java-скрипта. Он минимизирует код и имеет больше возможностей для обфускации. Эта утилита доступна в коде Google по адресу ниже: Инструменты закрытия
Но теперь дни, когда я слышу большую часть UglifyJS. Вы можете найти различное сравнение между Closure Compiler и UglifyJS, в котором Uglify кажется победителем. UglifyJS: быстрый новый компрессор JavaScript для Node.js, который находится на грани с закрытием
Вскоре я бы дал шанс UglifyJS.
Решил проблему с небольшим прикосновением.
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 ...
Может быть, вам просто нужно обернуть цикл 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>
Я надеюсь, что это помогает