Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Asp.net mvc 4 仅显示最后一个标记信息窗口,即使还有154个其他窗口_Asp.net Mvc 4_Razor_Google Maps Api 3 - Fatal编程技术网

Asp.net mvc 4 仅显示最后一个标记信息窗口,即使还有154个其他窗口

Asp.net mvc 4 仅显示最后一个标记信息窗口,即使还有154个其他窗口,asp.net-mvc-4,razor,google-maps-api-3,Asp.net Mvc 4,Razor,Google Maps Api 3,因此,我通过使用razor和google maps api获得了windows工作中的标记和信息,并执行了以下操作: @{ IEnumerable<UFA.Location.Core.Location> Location = UFALocation___Front.Helpers.QueryHelper.QueryHelper.getAllLocations(); foreach(var loc in Location){

因此,我通过使用razor和google maps api获得了windows工作中的标记和信息,并执行了以下操作:

@{
            IEnumerable<UFA.Location.Core.Location> Location = UFALocation___Front.Helpers.QueryHelper.QueryHelper.getAllLocations();

            foreach(var loc in Location){
                <text>
                    var contentString_@loc.id = "@loc.name";

                    mapMarker_@loc.id = new google.maps.Marker({
                        position: new google.maps.LatLng(@loc.latitude, @loc.longitude),
                        map: map,
                        title: "Hello World!"
                    });

                    var infoWindow = new google.maps.InfoWindow({
                        content: contentString_@loc.id
                    });

                    google.maps.event.addListener(mapMarker_@loc.id, 'click', function() {
                        infoWindow.open(map, mapMarker_@loc.id);
                    });

                </text>
            }
        }
@{
IEnumerable Location=UFALocation\uuuuuu Front.Helpers.QueryHelper.QueryHelper.getAllLocations();
foreach(位置中的var loc){
var contentString@loc.id=“@loc.name”;
mapMarker@loc.id=new google.maps.Marker({
位置:新的google.maps.LatLng(@loc.latitude,@loc.longitude),
地图:地图,
标题:“你好,世界!”
});
var infoWindow=new google.maps.infoWindow({
内容:contentString@loc.id
});
google.maps.event.addListener(mapMarker@loc.id,'click',function(){
打开(地图,地图标记@loc.id);
});
}
}
已更新

因此,它显示为每个位置的信息框,正如我所希望的,但其中的内容只是最后一个位置的名称,而与位置无关。基本上,信息框没有绑定到任何一个特定位置,即使我已经为每个id制作了所有信息框,如果这有意义的话。


<script defer="defer" type="text/javascript">
          var map = new OpenLayers.Map('map', {allOverlays: true, controls: []});
            var wms_layer_Test_5000_fKr = new OpenLayers.Layer.WMS(
            'Test_5000_fKr',
            'http://130.237.175.39:8080/geoserver/wms/test_test',
            {layers: 'Test_5000_fKr', transparent: "true", format: "image/png"},

            {maxExtent: new OpenLayers.Bounds(585000, 6600000, 740000, 6722500), maxResolution: 'auto', projection:"EPSG:3006", units: "m"},
            {isBaseLayer: false}, 
            {visibility: true},
            {transparent: true}
            );

      map.addLayers([wms_layer_Test_5000_fKr]);

      var scalebar = new OpenLayers.Control.ScaleLine();
            map.addControl(scalebar);

            map.addControl(
                new OpenLayers.Control.MousePosition({
                    prefix: '<a target="_blank" ' +
                        'href="http://spatialreference.org/ref/epsg/3006/">' +
                        'SWEREF99 TM:&nbsp</a>',
                    separator: ' , ',
                    numDigits: 0,
                    emptyString: 'Mouse is not over map.'
                })
            );            

      var panel = new OpenLayers.Control.NavToolbar();
            map.addControl(panel);

      var panzoom = new OpenLayers.Control.PanZoomBar();
            map.addControl(panzoom);                                              

      var layer = new OpenLayers.Control.LayerSwitcher({'ascending':false});
            map.addControl(layer);

        map.zoomToMaxExtent();
      </script>
var map=new OpenLayers.map('map',{allOverlays:true,controls:[]}); var wms_layer_Test_5000_fKr=新OpenLayers.layer.wms( “测试5000个fKr”, 'http://130.237.175.39:8080/geoserver/wms/test_test', {层:'Test_5000_fKr',透明:“true”,格式:“image/png”}, {maxExtent:new OpenLayers.Bounds(5850006600000,7400006722500),maxResolution:'auto',projection:'EPSG:3006',units:'m'}, {isBaseLayer:false}, {可见性:true}, {透明:真} ); 地图添加图层([wms_图层测试_5000_fKr]); var scalebar=new OpenLayers.Control.ScaleLine(); map.addControl(比例尺); map.addControl( 新建OpenLayers.Control.MousePosition({ 前缀:“”, 分隔符:',', numDigits:0, 清空字符串:“鼠标不在地图上方。” }) ); var panel=newopenlayers.Control.NavToolbar(); 地图添加控制(面板); var panzoom=new OpenLayers.Control.PanZoomBar(); map.addControl(平移缩放); var layer=new OpenLayers.Control.LayerSwitcher({'ascending':false}); map.addControl(层); zoomToMaxExtent();
如果您可以在代码示例中添加解释,那么它的可能副本将对社区有益。可能会解释你是如何解决最初的问题的。这将帮助每个人从您的代码示例中学习,即使他们自己无法运行它。