2016-04-27 44 views
0

下面是我使用的代碼不工作。獲取地圖,但沒有標記即使它們正確地顯示在屏幕上:asp.net c#打印帶標記的谷歌地圖

<script type="text/javascript"> 
    function ConvertToImage2(btnExport) { 
     html2canvas($('#dvReport').get(0), { 
      logging: true, //Enable log (use Web Console for get Errors and Warings) 
      useCORS: true, 
      onrendered: function (canvas) { 
       var base64 = canvas.toDataURL(); 
       $("[id*=hfImageData]").val(base64); 
       __doPostBack(btnExport.name, ""); 
      } 
     }); 
     return false; 
    } 
</script> 

<div class="row"> 
    <div id="dvReport" class="col-md-6 col-xs-12" style="background-color: white"> 
     <div class="col-md-6 col-xs-12" style="text-align: center; clear: left"> 
      <asp:Label ID="label4" runat="server" Text="VATS TRACKING REPORT" BackColor="White"></asp:Label> 
     </div> 
     <div> 
      <asp:Label ID="label1" runat="server" Text="Date:" BackColor="White" Font-Size="Small"></asp:Label><br /> 
      <asp:Label ID="label2" runat="server" Text="User:" BackColor="White" Font-Size="Small"></asp:Label><br /> 
      <asp:Label ID="label3" runat="server" Text="Violation Code:" BackColor="White" Font-Size="Small"></asp:Label> 
     </div> 

     <div class="col-md-6 col-xs-12"> 
      <cc2:GMap ID="GMap1" runat="server" Width="900px" Height="480px" enableServerEvents="true" OnServerEvent="GMap1_ServerEvent" /> 
     </div> 
    </div> 
</div> 

回答

0

根據這一tutorial,你應該有Marker類,它爲您提供了一個選項,以顯示一個標記,以用戶爲給定的位置。這個例子展示瞭如何創建一個簡單的標記。

var marker = new google.maps.Marker 
(
    { 
     position: new google.maps.LatLng(-34.397, 150.644), 
     map: map, 
     title: 'Click me' 
    } 
); 

更新:

[code language=」csharp」] 
protected void Page_Load(object sender, EventArgs e) 
{ 
string markers=GetMarkers(); 
Literal1.Text = @" 
<script type=’text/javascript’> 
function initialize() { 

var mapOptions = { 
center: new google.maps.LatLng(28.3213, 77.5435), 
zoom: 2, 
mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var myMap = new google.maps.Map(document.getElementById(‘mapArea’), 
mapOptions);" 
+markers+ 
@"} 
</script>"; 
} 

protected string GetMarkers() 
{ 
string markers = ""; 
using (SqlConnection con = new 
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConString"].ConnectionString)) 
{ 
SqlCommand cmd = new SqlCommand("SELECT Latitude, Longitude, City FROM Locations", con); 
con.Open(); 
SqlDataReader reader = cmd.ExecuteReader(); 
int i = 0; 

while (reader.Read()) 
{ 
i++; 
markers += 
@"var marker"+i.ToString()[email protected]" = new google.maps.Marker({ 
position: new google.maps.LatLng("+reader["Latitude"].ToString() + ", " + 
reader["Longitude"].ToString() +"),"+ 
@"map: myMap, 
title:’" + reader["City"].ToString() + "’});"; 
} 
} 
return markers; 
} 
[/code] 
+0

和...? 我有標記顯示在屏幕上。它們從數據庫加載並用標準過濾。他們需要在打印時重新創建嗎?如果是的話,我需要知道如何做到這一點? –

+0

我已添加示例代碼。你可以查看這個[教程](http://deepak-sharma.net/2013/06/17/adding-markers-to-google-maps-from-database-using-asp-net/)。正如我所說的 – abielita

+0

- 我已經在頁面上顯示標記沒有問題。我需要用標記打印地圖。 –