Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用mvc4在谷歌地图中显示位置_Javascript_Asp.net Mvc 4_Google Maps Api 3 - Fatal编程技术网

Javascript 使用mvc4在谷歌地图中显示位置

Javascript 使用mvc4在谷歌地图中显示位置,javascript,asp.net-mvc-4,google-maps-api-3,Javascript,Asp.net Mvc 4,Google Maps Api 3,我已经用mvc4在谷歌地图上显示了位置。我有一个模型,通过模型得到10个横向和纵向值。我在视图端使用这些值。这是我的密码: function showLocation() { var mapDiv = document.getElementById('map-canvas'); var mapOptions = { zoom: 12, mapTypeControl: true, zoomControl: true,

我已经用mvc4在谷歌地图上显示了位置。我有一个模型,通过模型得到10个横向和纵向值。我在视图端使用这些值。这是我的密码:

function showLocation() {
    var mapDiv = document.getElementById('map-canvas');

    var mapOptions = {
        zoom: 12,
        mapTypeControl: true,
        zoomControl: true,
        scaleControl: true,
        streetViewControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    var map = new google.maps.Map(mapDiv, mapOptions);
    setMarkers(map);
}

function setMarkers(map){
    @foreach (var item in Model.Items)
    {
        <text>
    var infowindow = new google.maps.InfoWindow({
        map: map,
        position: new google.maps.LatLng(@item.Latitude, @item.Longitude),
        content: '@item.DateAdded.ToString("dd.MM.yyyy HH:mm:ss")'
    });

    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(@item.Latitude, @item.Longitude),
                map: map,
                title: infowindow.content,
                center: new google.maps.LatLng(@item.Latitude, @item.Longitude)
            });
        </text>
    }
}
google.maps.event.addDomListener(window, 'load', showLocation);
函数showLocation(){
var mapDiv=document.getElementById('map-canvas');
变量映射选项={
缩放:12,
mapTypeControl:true,
动物控制:对,
scaleControl:对,
街景控制:对,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(mapDiv,maptoptions);
设置标记(地图);
}
函数设置标记(map){
@foreach(Model.Items中的var项)
{
var infowindow=new google.maps.infowindow({
地图:地图,
位置:新的google.maps.LatLng(@item.Latitude,@item.Longitude),
内容:'@item.DateAdded.ToString(“dd.MM.yyyy HH:MM:ss”)'
});
var marker=new google.maps.marker({
位置:新的google.maps.LatLng(@item.Latitude,@item.Longitude),
地图:地图,
标题:infowindow.content,
中心:新的google.maps.LatLng(@item.Latitude,@item.Longitude)
});
}
}
google.maps.event.addDomListener(窗口'load',showLocation);
当我运行此代码时,会出现一些错误,如“您在该页面上多次包含Google Maps API。这可能会导致意外错误。”在我的画布地图中显示如下:


有10个位置反复出现,地图不显示。你能告诉我哪里出了问题吗?

我解决了这个问题。真实代码为:

function initMap() {
    var mapDiv = document.getElementById('map-canvas');

    var mapOptions = {
        zoom: 12,
        mapTypeControl: true,
        zoomControl: true,
        scaleControl: true,
        streetViewControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    var map = new google.maps.Map(mapDiv, mapOptions);

    var infoWindows = getinfoWindows(map);
    map.setCenter(infoWindows[0].position);
    //setMarkers(map);
};

google.maps.event.addDomListener(window, 'load', initMap);

function getinfoWindows(map){
    var infos = [];
    @foreach (var item in Model.Items)
    {
        <text>
    var infowindow = new google.maps.InfoWindow({
        map: map,
        position: new google.maps.LatLng(@item.Latitude, @item.Longitude),
        content: '@item.DateAdded.ToString("dd.MM.yyyy HH:mm:ss")'
    });
    infos.push(infowindow);
    </text>
    }
    return infos;
}
函数initMap(){
var mapDiv=document.getElementById('map-canvas');
变量映射选项={
缩放:12,
mapTypeControl:true,
动物控制:对,
scaleControl:对,
街景控制:对,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(mapDiv,maptoptions);
var infoWindows=getinfoWindows(map);
map.setCenter(infoWindows[0].position);
//设置标记(地图);
};
google.maps.event.addDomListener(窗口'load',initMap);
函数getinfoWindows(映射){
var-infos=[];
@foreach(Model.Items中的var项)
{
var infowindow=new google.maps.infowindow({
地图:地图,
位置:新的google.maps.LatLng(@item.Latitude,@item.Longitude),
内容:'@item.DateAdded.ToString(“dd.MM.yyyy HH:MM:ss”)'
});
推送(infowindow);
}
返回信息;
}