Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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 我想把Gmap控件中的纬度和经度输入文本框_Asp.net_Javascript_Google Maps - Fatal编程技术网

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

Asp.net 我想把Gmap控件中的纬度和经度输入文本框,asp.net,javascript,google-maps,Asp.net,Javascript,Google Maps,我尝试了以下方法,但不起作用 var txtlat=document.getElementById('TextBox1').value=GMap1.getCenter().lat(); var txtlong=document.getElementById('TextBox2').value=GMap1.getCenter().lng(); 它给出一个JavaScript错误,因为“对象不支持此属性或方法” 我该怎么做 我真的需要帮助 谢谢大家! <%@ Page Language="C

我尝试了以下方法,但不起作用

var txtlat=document.getElementById('TextBox1').value=GMap1.getCenter().lat();
var txtlong=document.getElementById('TextBox2').value=GMap1.getCenter().lng();
它给出一个JavaScript错误,因为“对象不支持此属性或方法”

我该怎么做

我真的需要帮助

谢谢大家!

<%@ 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>

无标题页



var txtlat=document.getElementById('TextBox1')。value=GMap1.getCenter().lat(); var txtlong=document.getElementById('TextBox2')。value=GMap1.getCenter().lng();
是否确认从getCenter返回的值不为空?它应该是一个LatLng对象,但可能返回null。。。你确定中心已经设置好了吗?还有,GMap1是什么对象类型?如何创建该对象?

第二次更新:除了更新的问题,服务器端文本框控件还有另一个问题。不能像您这样使用
document.getElementById()
从JavaScript引用它们

您可以使用普通的HTML控件:
,或者必须使用类似于
document.getElementById(“”)
的东西从JavaScript引用文本框


1st UPDATE:除注释外,下面的示例已更新,以返回鼠标单击位置的纬度/lng


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

使用:


谷歌地图获取中心()
var map=new google.maps.map(document.getElementById('map'){
缩放:2,
中心:新google.maps.LatLng(35.55,-25.75),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
google.maps.event.addListener(映射,'click',函数(事件){
if(事件时间){
document.getElementById('textbox1')。value=event.latLng.lat();
document.getElementById('textbox2')。value=event.latLng.lng();
}
});
使用:


谷歌地图获取中心()
VarMap=新的GMap2(document.getElementById(“map”);
var中心点=新玻璃(35.55,-25.75);
地图设置中心(中心点,2);
addListener(映射,“单击”,函数(覆盖,latlng){
if(latlng){
document.getElementById('textbox1')。value=latlng.lat();
document.getElementById('textbox2')。value=latlng.lng();
}
});
以上示例的屏幕截图:


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

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();

        }

你能发布更多的代码,特别是GMap1是如何创建的吗?上面的文章展示了我是如何尝试这样做的。非常感谢。你好,布莱恩,对不起。我是这个谷歌地图环境的新手。我不能完全理解你在说什么。Gmap1是Gmap控制器的ID。我还没有解决这个问题。非常感谢。查看@Daniel的示例,你符合GMap控件的设置吗?你好,Daniel,我尝试了这个。页面加载得到35.55和-25.75。我想要的是将纬度和经度输入到文本框中,当用户点击地图时的一个点,以及为什么你在使用我不能简单地拖放我添加到工具箱中的Gmap控制器作为。我仍然有这个问题。谢谢大家!@chamara:更新了示例,给出了鼠标点击点的纬度/高度。。。至于
标记,我没有使用ASP.NET控件的经验,但是我想如果你让地图在你的网页上运行,你所做的是正确的。
<!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>
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();

        }