如何获取谷歌地图标记的坐标并将其存储在使用asp.net C#的文本框或标签中 - javascript

我正在尝试获取标记的坐标,并将标记的纬度和经度存储到两个单独的标签中。是否有可能获取坐标并设置标签以显示它们?谢谢。

这是我尝试使用的代码,但未发布坐标

<asp:Label ID="lblLongitude" runat="server" Text="Longitude: "></asp:Label>
<asp:Label ID="lblLong" runat="server" Text="Label"></asp:Label>
<asp:Label ID="lblLatitude" runat="server" Text="Latitude: "></asp:Label>
<asp:Label ID="lblLat" runat="server" Text="Label"></asp:Label>

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBXs9W71W5gGrizWme0rLZ7xS69_deZP6I"></script>
<script type="text/javascript">
    function updateLatPosition(latLng) {
        var lat = document.getElementById('HiddenLat');
        HiddenLat.value = event.latLng.lat();
    }

    function updateLongPosition(latLng) {
        document.getElementById('HiddenLong').innerHTML = event.latLng.lng();
    }

    function initialize() {
        var latLng = new google.maps.LatLng(14.581, 120.976);
        var map = new google.maps.Map(document.getElementById('map-canvas'),  
        {
            zoom: 12,
            center: latLng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        var marker = new google.maps.Marker({
            position: latLng,
            title: 'Landmark Coordinates',
            map: map,
            draggable: true
        });

        google.maps.event.addListener(marker, 'drag', function () {                                    
            updateLatPosition(marker.getPosition());
            updateLongPosition(marker.getPosition());
        });

        google.maps.event.addListener(marker, 'dragend', function (event) {                                    
            updateLatPosition(marker.getPosition());
            updateLongPosition(marker.getPosition());
        });
    }

    google.maps.event.addDomListener(window, 'load', initialize);
</script>

下面是代码:

lblLat.Text = HiddenLat.Value.ToString();
lblLong.Text = HiddenLong.Value.ToString();

谢谢,Lanz Bituin

参考方案

您将必须使用javascript / jquery来执行此操作。

后面代码中的代码(例如lblLat.Text = HiddenLat.Value.ToString();)在服务器上运行,在该服务器上组装网页并随后将其提供给客户端。

页面进入浏览器后,您必须使用javascript / jquery来操纵页面(例如,在标签上设置值)。

如果纬度标签的ID为“ HiddenLat”,并且您拥有jquery,则可以使用此标签设置标签上的值:

编辑

如果没有jquery,请下载它或从CDN中引用它:

<!-- Place this before any other <script> tags -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

我对Google Maps API不太熟悉,但是请尝试使用以下方法替换您的updateLatPosition函数:

function updateLatPosition(latLng) {
    var newLatValue = latLng.lat(); // get the latitude value from the latLng object
    console.log(newLatValue); // sanity check
    $('#HiddenLat').text(newLatValue ); // set the label value, assuming that the label has an id of 'HiddenLat'
}

同样,对于updateLngPosition函数。

function updateLngPosition(latLng) {
    var newLngValue = latLng.lng(); // get the longitude value from the latLng object
    console.log(newLngValue); // sanity check
    $('#HiddenLng').text(newLngValue); // set the label value, assuming that the label has an id of 'HiddenLng'
}

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…

获取JavaScript值到C#字符串 - javascript

                        是否可以在C#中执行类似的操作?该值为“ 10/05/2014”string jsValue = javascript("$('#EstimatedStartDate').val()"); 参考方案 您能否更详细地阐明您要做什么。看来您正在尝试从javascript(客户…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

ASP.net WebForms-如何从代码隐藏获取html5数据属性? - javascript

即时通讯试图从HtmlControl获取数据属性(数据图标)...该数据属性是通过js函数设置的,但是当页面回发时,它返回(在代码后面)一个空字符串有什么办法,任何财产,否则就可以得到它?我的代码:HTML:<button id="btnIcon" runat="server" class="btn b…

将Windows窗体屏幕截图应用程序转换为ASP.NET - javascript

我是一位C#ASP.NET开发人员,他试图创建一个Web应用程序,允许用户指定屏幕区域并对其进行屏幕捕获。我发现了很多javascript和jquery解决方案,但我认为它们太复杂了,我缺乏与它们一起使用的javascript技能。我在MSDN上找到了以下代码:using System; using System.Windows.Forms; using S…