我創建了一個谷歌地圖,我想添加一個標記列表。但我有一些剃刀 - JavaScript問題。
我的cshtml文件有一個模型@model IEnumerable<MCN.Domain.Entities.Location>
我的模型加載很好,它包含所有值。
我在瀏覽器中調試JS代碼,它使用addMarker方法,但在var marker = new google.maps.Marker({
部分停止。
在Visual Studio中我有綠色的下劃線上@foreach (var item in Model) {
與消息:「條件編譯已關閉」 這是JS部分:剃刀與JavaScript問題
<script type="text/javascript">
(function() {
window.onload = function() {
var mapDiv = document.getElementById('map');
var latlng = new google.maps.LatLng('41.01146', '24.921659');
var options = { styles: styleArray,
center: latlng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};
var map = new google.maps.Map(mapDiv, options);
@foreach (var item in Model) {
@:addMarker(@item.Latitude, @item.Longitude, '@item.Name', '@item.DiscoveredBy');
}
}
})();
function addMarker(latitude, longitude, title, description)
{
var markerlatLng = new google.maps.LatLng(latitude, longitude);
var title = 'test';
var description = 'test';
var contentString = 'test';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: latLng,
title: title,
map: map,
draggable: false
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
});
}
</script>
JS從瀏覽器:
(function() {
window.onload = function() {
var mapDiv = document.getElementById('map');
var latlng = new google.maps.LatLng('44.01146', '20.921659');
var options = { styles: styleArray,
center: latlng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};
var map = new google.maps.Map(mapDiv, options);
addMarker(20.921659, 44.01146, 'Svetozar markovic', 'user');
addMarker(20.92829, 44.010333, 'Glavna Stanica', 'user');
}
})();
您可以查看生成和發佈了JS的來源是什麼? – 2012-01-03 19:40:36
我更新了問題 – 1110 2012-01-03 19:45:47
我懷疑我的地圖定義。它在功能上定義。也許這個「addMarker()」函數看不到地圖。我試圖初始化地圖功能,但然後地圖不是呈現:( – 1110 2012-01-03 19:50:40