Javascript Geolocation 纬度和经度变量在 asp.net 中的访问

标签 javascript c# asp.net

我正在尝试使用 JavaScript 使用地理定位来获取用户位置,我可以看到当前位置和所有内容。但是当我尝试将坐标变量获取到 c# 对象标签时,它会返回任何内容。下面是我的 JavaScript。

  <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=ABC"></script>
    <script type="text/javascript">
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function (p) {
                var LatLng = new google.maps.LatLng(p.coords.latitude, p.coords.longitude);
                var mapOptions = {
                    center: LatLng,
                    zoom: 20,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
                var marker = new google.maps.Marker({
                    position: LatLng,
                    map: map,
                    title: "<div style = 'height:60px;width:200px'><b>Your location:</b><br />Latitude: " + p.coords.latitude + "<br />Longitude: " + p.coords.longitude,

                });
                google.maps.event.addListener(marker, "click", function (e) {
                    var infoWindow = new google.maps.InfoWindow();
                    infoWindow.setContent(marker.title);
                    infoWindow.open(map, marker);
                  //  document.getElementById("latitude").value = p.coords.latitude;
                 //   document.getElementById("longitude").value = p.coords.latitude;
                });

                var longitude = document.getElementById('latitude'),
                    latitude =  document.getElementById('longitude');
                function GetPosition(p) {
                    var long = p.coords.longitude,
                        lat = p.coords.latitude
                    longitude.text(long);
                    latitude.text(lat);
                }
            });
        } else {
            alert('Location feature is not supported in this browser.');
        }
    </script>

和 body

 <div>
            <div id="dvMap" style="width: 500px; height: 500px"></div>
            <asp:Label ID="latitude" runat="server"></asp:Label>
            <asp:Label ID="longitude" runat="server"></asp:Label>
        </div>

还尝试使用 GeoCoordinateWatcher 未成功。还有其他功能可以获取用户位置。提前致谢。

最佳答案

@NAJEEB,尝试使用以下解决方案

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://maps.googleapis.com/maps/api/js?key=ABC&callback=myMap"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      var longitude = $('#longitude');
       var latitude = $('#latitude');
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function (p) {
             console.log(longitude);
                    longitude.text(p.coords.longitude);
                    latitude.text(p.coords.latitude);
                var LatLng = new google.maps.LatLng(p.coords.latitude, p.coords.longitude);

                var mapOptions = {
                    center: LatLng,
                    zoom: 20,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
                var marker = new google.maps.Marker({
                    position: LatLng,
                    map: map,
                    title: "<div style = 'height:60px;width:200px'><b>Your location:</b><br />Latitude: " + p.coords.latitude + "<br />Longitude: " + p.coords.longitude,

                });
                google.maps.event.addListener(marker, "click", function (e)                 {
                    var infoWindow = new google.maps.InfoWindow();
                    infoWindow.setContent(marker.title);
                    infoWindow.open(map, marker);
                });
            });
        } else {
            alert('Location feature is not supported in this browser.');
        }
        });
    </script>
<title>Page Title</title>
</head>
<body>
 <div>
  <label ID="latitude"></label>
 <label ID="longitude"></label>
 <br/>
 <div id="dvMap" style="width: 500px; height: 500px"></div>
 </div>
</body>
</html>

关于Javascript Geolocation 纬度和经度变量在 asp.net 中的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527079/

相关文章:

javascript - 在幕后,Javascript 对象是哈希表吗?

c# - 从 .NET 探查器访问 ThreadStatic 字段

c# - 请求有关 Visual Studio 2008 的 Windows CE 平台的信息

c# - 一个 WCF 服务可以返回另一个吗?

asp.net - 垂直对齐问题

asp.net - 使用 UpdatePanel 时获取动态生成的 HTML 控件

javascript - 单击 ng-repeat 中的元素时如何增加计数器?

javascript - 函数在await执行完成之前返回

javascript - NodeJS 中调用 JSON 的奇怪字段

c# - 5 个文本框,2 个按钮。如何将文本框分配给按钮?