Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
Javascript 谷歌地图标记不返回其值_Javascript_Asp.net_Google Maps_Webforms - Fatal编程技术网

Javascript 谷歌地图标记不返回其值

Javascript 谷歌地图标记不返回其值,javascript,asp.net,google-maps,webforms,Javascript,Asp.net,Google Maps,Webforms,请考虑以下代码: 在my.ascx中: <asp:Label ID="lblLat" runat="server" EnableViewState="false"></asp:Label> <asp:Label ID="lblLng" runat="server" EnableViewState="false"></asp:Label> <script type="text/javascript" src="http://maps.goog

请考虑以下代码:

在my.ascx中:

<asp:Label ID="lblLat" runat="server" EnableViewState="false"></asp:Label>
<asp:Label ID="lblLng" runat="server" EnableViewState="false"></asp:Label>

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var latlng = new google.maps.LatLng(5.4149253, 100.3407387);
var map = new google.maps.Map(document.getElementById('map'), {
    center: latlng,
    zoom: 17,
    mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
    position: latlng,
    map: map,
    draggable: true
});
google.maps.event.addListener(marker, 'dragend', function (event) {
    marker.setPosition(event.latLng);
    var yeri = event.latLng;
    document.getElementById('lblLat').value = yeri.lat().toFixed(6);
    document.getElementById('lblLng').value = yeri.lng().toFixed(6);
});

</script>

这两行返回空值。我能知道我做错了什么吗?它只是没有从地图上的标记中获取值。

标签被转换成
span
,而像
span
div
这样的html元素没有
ViewState
也没有将它们的文本/html发送到服务器端。提交的
表单
元素是
输入
元素,
隐藏字段
就是其中之一。asp.net维护隐藏字段的
ViewState
。恐怕您必须使用隐藏字段来维护回发之间标签的值

在.ascx中:

<asp:Label ID="lblLat" runat="server" EnableViewState="false"></asp:Label>
<asp:Label ID="lblLng" runat="server" EnableViewState="false"></asp:Label>
<!-- 1. Add hidden fields to store and submit the latlng values -->
<asp:HiddenField id="lblLatHidden" runat="server" />
<asp:HiddenField id="lblLngHidden" runat="server" />

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var latlng = new google.maps.LatLng(5.4149253, 100.3407387);
var map = new google.maps.Map(document.getElementById('map'), {
    center: latlng,
    zoom: 17,
    mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
    position: latlng,
    map: map,
    draggable: true
});
google.maps.event.addListener(marker, 'dragend', function (event) {
    marker.setPosition(event.latLng);
    var yeri = event.latLng;
    document.getElementById('lblLat').innerHtml = yeri.lat().toFixed(6);
    document.getElementById('lblLng').innerHtml = yeri.lng().toFixed(6);
    // 2. update the hidden fields via javascript
    document.getElementById('lblLatHidden').value = yeri.lat().toFixed(6);
    document.getElementById('lblLngHidden').value = yeri.lng().toFixed(6);
});

</script>
<asp:Label ID="lblLat" runat="server" EnableViewState="false"></asp:Label>
<asp:Label ID="lblLng" runat="server" EnableViewState="false"></asp:Label>
<!-- 1. Add hidden fields to store and submit the latlng values -->
<asp:HiddenField id="lblLatHidden" runat="server" />
<asp:HiddenField id="lblLngHidden" runat="server" />

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var latlng = new google.maps.LatLng(5.4149253, 100.3407387);
var map = new google.maps.Map(document.getElementById('map'), {
    center: latlng,
    zoom: 17,
    mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
    position: latlng,
    map: map,
    draggable: true
});
google.maps.event.addListener(marker, 'dragend', function (event) {
    marker.setPosition(event.latLng);
    var yeri = event.latLng;
    document.getElementById('lblLat').innerHtml = yeri.lat().toFixed(6);
    document.getElementById('lblLng').innerHtml = yeri.lng().toFixed(6);
    // 2. update the hidden fields via javascript
    document.getElementById('lblLatHidden').value = yeri.lat().toFixed(6);
    document.getElementById('lblLngHidden').value = yeri.lng().toFixed(6);
});

</script>
string lat = lblLatHidden.Value;
string lng = lblLngHidden.Value;