2016-09-21 4 views
0

Ich möchte die Koordinaten des Markers zu einem Asp: Textfeld setzen, aber wenn die Taste gedrückt wird (dies löst die Funktion zu übertragen Daten zu Textfeld) es nicht angezeigt wird, sollte es auch ein asp: Textfeld sein, so kann ich Validierung zu verwenden.Asp & Google Map API: Zeige Ort zu Asp: Textbox durch google.maps.event.addListener

dies ist mein Code

Skript Karte

var latitude; 
    var longitude; 
    function initMap() { 
     var mapDiv = document.getElementById('map'); 
     var map = new google.maps.Map(mapDiv, { 
      center: { lat: 6.499767, lng: 124.844858 }, 
      zoom: 18 
     }); 

     var marker = new google.maps.Marker({ 
      position: { lat: 6.499767, lng: 124.844858 }, 
      draggable: true, 
      animation: google.maps.Animation.DROP, 
      map: map, 
      title: 'Drag me to your address pls.' 
     }); 

     google.maps.event.addListener(marker, "dragend", function (event) { 
      latitude = this.position.lat(); 
      longitude = this.position.lng(); 
     }); 

     marker.setMap(map); 
    } 

</script> 

Script-Funktion übergeben zu asp Textbox

<script> 
    var name; 
    function transferdata() { 

     $(document).ready(function() { 
      document.getElementById('<%=txt_coord.ClientID %>').Text = latitude + "," + longitude; 
       }); 
      }; 

</script> 

MapDiv ist zu laden in einem ModalPopup

<cc1:ModalPopupExtender ID="ModalPopupExtender2" TargetControlID="HiddenField1" runat="server" PopupControlID="Panel2" CancelControlID="btn_map_ok" BackgroundCssClass="modalBackground"></cc1:ModalPopupExtender> 

<asp:Panel ID="Panel2" runat="server" CssClass="modalPopup" align="center" Width="80%" Style="display: none"> 
    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/icons/cancel.png" CssClass=" pull-right" Width="30px" /> 
    <h3>Drag the red pin to your address.</h3> 
    <p class="text-center small alert-warning"> 
     Note:<br /> 
     If you have trouble finding your address, switch the map style to satellite or vice versa. 
     <br /> 
     You can also zoom in or out the map, and/or enable street view. 
     <br /> 
    </p> 
    <div id="map" style="width: 100%; height: 400px;"> 
    </div> 

    <input id="btn_map_ok" name="btn_map_ok" runat="server" type="button" value="OK" style="margin: 10px 10px 10px 10px;" class="center-block btn-primary btn-sm" onclick="transferdata();" /> 
</asp:Panel> 

Antwort

0

Aktualisieren Sie Ihre Javascript-Methode wie folgt. document.ready wird nur ausgelöst, wenn das Dokument vollständig geladen wurde. Nach dem Klicken auf den Buttong hat es keinen Zweck, das zu nennen. Verwenden Sie .value anstelle von .Text, um den Wert im Textfeld zu aktualisieren.

<script> 
var name; 
function transferdata() { 
    alert("This is a Message!"); 
    document.getElementById('<%=txt_coord.ClientID %>').value = latitude + "," + longitude; 

    document.getElementById('<%=txt_coord.ClientID %>').value = latitude + "," + longitude; 
}; 

</script> 
+0

Es hat funktioniert !!!! vielen Dank. – kol

Verwandte Themen