ฉันมีรายการวัตถุที่มีละติจูดและลองจิจูดสำหรับตำแหน่งเครื่องหมาย เมื่อฉันพยายามบันทึกรายการวัตถุลงใน javascript var และอ่านออกมาใน for loop มันไม่ทำอะไรเลย ฉันไม่รู้ว่ามันผิดพลาดตรงไหน สิ่งที่ฉันพยายามทำคือแปลงรายการเป็นอาร์เรย์ แต่นั่นก็ไม่ได้ช่วยอะไร ฉันตรวจสอบค่า Model.Asparaguses แล้ว และพบว่าใช้ได้ ดังนั้นจึงไม่ใช่ปัญหาที่นี่
นี่คือ ViewModel ของฉัน:
public class FieldViewModel
{
public Field Field { get; set; }
public object[] ChartData { get; set; }
public Asparagus[] Asparaguses { get; set; }
}
นี่คือรหัส .js ของฉันในมุมมองของฉัน:
<script>
asparaguses = @Html.Raw(Json.Serialize(Model.Asparaguses));
</script>
และนี่คือโค้ด .js ภายนอกของฉัน:
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 }
});
}
};
แก้ไข:
ในคอนโซลของฉันฉันมีข้อผิดพลาดนี้:
InvalidValueError: setPosition: ไม่ใช่ LatLng หรือ LatLngLiteral: ในคุณสมบัติ lat: ไม่ใช่ตัวเลข
เมื่อฉันบันทึกอาร์เรย์ของหน่อไม้ฝรั่ง ฉันจะได้รับผลลัพธ์นี้:
หน่อไม้ฝรั่ง: [วัตถุวัตถุ], [วัตถุวัตถุ], [วัตถุวัตถุ], [วัตถุวัตถุ], [วัตถุวัตถุ], [วัตถุวัตถุ]
และเมื่อฉันบันทึกค่า Lat และ Long จากหน่อไม้ฝรั่ง 1 ต้น ฉันเห็นว่าค่าเหล่านั้นเป็น 'ไม่ได้กำหนด' แต่อย่างไร?