2011-11-08 11 views
1

まだasp.net C#4.0 mvcでGoogleマップに問題があります。 これで私のウェブページでGoogleマップを見ることができますが、私の座標は、Googleマップはもう表示されません。私は自分のデータなどの渡しに何かが存在しなければならないと思いますか?私はSQL Server 2008を使用しています。Googleマップテーブルでは、double型のカテゴリがないため、整数として経度と緯度を設定しています。私は何をすべきか?アドバイス/提案はありますか?事前に感謝:)asp.netでdouble変数を保存して渡す方法C#mvc 3

これは私のGoogleマップビューの私のコードです

 @{ 
     ViewBag.Title = "GMAP"; 
     Layout = "~/Views/Home/Gmap.cshtml"; 
     } 

     <h2>GMAP</h2> 
     @section Scripts { 
      <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
     } 

     @section Styles { 
      html { height: 80% } 
      body { height: 80%; margin: 0px; padding: 0px } 
      #map_canvas { height: 80% } 
     } 

     <div id="map_canvas" style="width:80%; height:80%"></div> 

     <script type="text/javascript"> 
      function initialize() { 
      var latlng = new google.maps.LatLng(@ViewData["Latitude"], @ViewData["Longitude"]); 
      var options = { zoom: 14, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; 
      var map = new google.maps.Map(document.getElementById("map_canvas"), options); 
      } 

      $(function() { 
      initialize(); 
      }); 
     </script> 

ここで私は、私のGoogleマップコントローラ私のGoogleマップテーブルで

public ActionResult GMAP(int id){ 
     var dataContext = new transDataContext(); 
     Double Longitude = (Double)(from t in dataContext.TransactionModels 
     where t.id.Equals(id) 
     select t.longitude).Single(); 
     Double latitude = (Double)(from t in dataContext.TransactionModels 
     where t.id.Equals(id) 
     select t.latitude).Single(); 
     ViewData["Longitude"] = Longitude; 
     ViewData["Latitude"] = latitude; 

     return View(); 
    } 

答えて

1

のコードですdouble categoryを持たないので、longitudeとlatitudeは整数として設定されています。

あなた自身の質問に答えました。緯度と経度は2倍にする必要があります。 -0.156ロングはゼロになります。

+0

So -0.156 Longはゼロになるでしょうか?座標は間違っていますか? :\ – mary

+0

はい、私は整数のビットについては混乱しています。なぜなら、あなたはその値をデータベースintとして保存できないので、Sqlを使用して生データを見ると、小数点なしで値が切り捨てられているはずです。それらをデータベースに格納するために使用するタイプは 'float'です。 –

関連する問題