代码之家  ›  专栏  ›  技术社区  ›  chamara

我想把Gmap控件中的经纬度输入文本框

  •  2
  • chamara  · 技术社区  · 14 年前

    我试过以下方法,但没有效果

    var txtlat=document.getElementById('TextBox1').value=GMap1.getCenter().lat();
    var txtlong=document.getElementById('TextBox2').value=GMap1.getCenter().lng();
    

    我该怎么做????

    我真的需要帮助。。。

    谢谢您!

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication5._Default" %>
    
    <%@ Register assembly="GMaps" namespace="Subgurim.Controles" tagprefix="cc1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    
            <cc1:GMap ID="GMap1" runat="server" 
                Key="ABQIAAAAs98ZVKM_IHFkRP_EavW_DhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQGoS16N7wYnBPhgtjTxMaUVN58kA" />
            <br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    
        </div>
        <script type="text/javascript">
    
        var txtlat=document.getElementById('TextBox1').value=GMap1.getCenter().lat();
        var txtlong=document.getElementById('TextBox2').value=GMap1.getCenter().lng();
    
        </script>
        </form>
    </body>
    </html>
    
    3 回复  |  直到 14 年前
        1
  •  2
  •   Halvor Holsten Strand mtorres    10 年前

    第二次更新: 除了更新的问题之外,服务器端textbox控件还有另一个问题。不能使用从JavaScript引用它们 document.getElementById() 就像你做的那样。

    <input type="text" id="textbox1" /> document.getElementById('<%= TextBox1.ClientID %>') 从JavaScript引用文本框。


    第一次更新:


    您可能需要查看以下示例,这些示例经过测试可以正常工作:

    使用 v3 API :

    <!DOCTYPE html>
    <html> 
    <head> 
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
      <title>Google Maps getCenter()</title> 
      <script src="http://maps.google.com/maps/api/js?sensor=false" 
              type="text/javascript"></script>
    </head> 
    <body>
      <div id="map" style="width: 500px; height: 400px;"></div>
      <input type="text" id="textbox1" />
      <input type="text" id="textbox2" />
    
      <script type="text/javascript">
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 2,
          center: new google.maps.LatLng(35.55, -25.75),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
    
        google.maps.event.addListener(map, 'click', function(event) {
          if (event.latLng) {
            document.getElementById('textbox1').value = event.latLng.lat();
            document.getElementById('textbox2').value = event.latLng.lng();
          }
        });
    
      </script>
    </body>
    </html>
    

    使用 v2 API :

    <!DOCTYPE html>
    <html> 
    <head> 
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
        <title>Google Maps getCenter()</title> 
        <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false"
                type="text/javascript"></script> 
      </head> 
      <body onunload="GUnload()"> 
        <div id="map" style="width: 500px; height: 400px;"></div> 
        <input type="text" id="textbox1" />
        <input type="text" id="textbox2" />
    
        <script type="text/javascript"> 
          var map = new GMap2(document.getElementById("map"));
          var centerPoint = new GLatLng(35.55, -25.75);
          map.setCenter(centerPoint, 2);
    
          GEvent.addListener(map,"click", function(overlay, latlng) {     
            if (latlng) { 
              document.getElementById('textbox1').value = latlng.lat();
              document.getElementById('textbox2').value = latlng.lng();
            }
          });
        </script> 
      </body> 
    </html>
    

    Google Maps getCenter()

        2
  •  1
  •   Brian Mains    14 年前

        3
  •  0
  •   Bill the Lizard    12 年前

    我发现答案忘了在这里提,所以答案很简单

    Msg1 Msg2 是DIV标签吗

    protected string Gmap1_Click(object s, Subgurim.Controles.GAjaxServerEventArgs e)
            {
             return "document.getElementById('Msg1').innerHTML="
    + e.point.lat.ToString() + ";" +    "document.getElementById('Msg2').innerHTML="
    + e.point.lng.ToString();
    
            }