Saya memiliki daftar objek yang berisi garis lintang dan bujur untuk posisi penanda. Ketika saya mencoba menyimpan daftar objek ke dalam var javascript dan membacanya dalam loop for, itu tidak menghasilkan apa-apa. Saya tidak tahu di mana kesalahannya. Apa yang saya coba lakukan adalah mengonversi daftar menjadi array, tetapi itu pun tidak membantu. Saya memeriksa nilai Model.Asparaguses dan semuanya baik-baik saja, jadi bukan itu masalahnya di sini.
Ini ViewModel saya:
public class FieldViewModel
{
public Field Field { get; set; }
public object[] ChartData { get; set; }
public Asparagus[] Asparaguses { get; set; }
}
Ini kode .js saya di tampilan saya:
<script>
asparaguses = @Html.Raw(Json.Serialize(Model.Asparaguses));
</script>
Dan ini kode .js eksternal saya:
var asparaguses;
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: { lat: 51.25202200, lng: 5.710260 },
zoom: 15
});
for (var i = 0; i < asparaguses.length; i++) {
// Create a marker and set its position.
var marker = new google.maps.Marker({
map: map,
position: { lat: asparaguses[i].Lat, lng: asparaguses[i].Long }
});
}
};
EDIT:
Di konsol saya, saya mengalami kesalahan ini:
InvalidValueError: setPosition: bukan LatLng atau LatLngLiteral: di properti lat: bukan angka
Ketika saya mencatat array Asparagus maka saya mendapatkan output ini:
Asparagus: [Objek Objek],[Objek Objek],[Objek Objek],[Objek Objek],[Objek Objek],[Objek Objek]
Dan ketika saya mencatat nilai Lintang dan Bujur dari 1 asparagus, saya melihat bahwa nilainya 'Tidak Terdefinisi'. Tapi bagaimana caranya?