2013-05-09 37 views
-2

所以我设法标记和信息窗口使用剃刀和谷歌地图API做干活如下:只显示最后一个标记信息的窗口,即使有154人

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

      foreach(var loc in Location){ 
       <text> 
        var [email protected] = "@loc.name"; 

        [email protected] = 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: [email protected] 
        }); 

        google.maps.event.addListener([email protected], 'click', function() { 
         infoWindow.open(map, [email protected]); 
        }); 

       </text> 
      } 
     } 

更新

所以它显示为每个位置的信息框,因为我想但其中的内容只是最后一个位置的名称,而不考虑位置。实质上,信息框并不与任何一个特定的位置绑定,即使我已经为每个ID创建了所有的信息,如果这是有道理的。

+0

可能重复(http://stackoverflow.com/questions/3059044/google-maps-js-api-v3-simple-multiple-marker-示例) – 2013-05-09 20:19:12

回答

0
<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> 
[谷歌地图JS API V3 - 简单多个标记的例子]
+0

如果您可以向您的代码示例添加解释,这对社区会有所帮助。可能解释你做了什么来解决原来的海报问题。这将帮助每个人从代码示例中学习,即使它们不能自行运行。 – RacerNerd 2013-05-09 20:28:22

相关问题