Javascript 使用mvc4在谷歌地图中显示位置
我已经用mvc4在谷歌地图上显示了位置。我有一个模型,通过模型得到10个横向和纵向值。我在视图端使用这些值。这是我的密码: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,
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);
}
返回信息;
}