2016-08-02 108 views
0

繼續得到失蹤的關鍵錯誤,基本上我讀取一個aspx頁面上的隱藏列的緯度和經度值,將它們發送到一個.JS文件。無法解決MissingKeyMapError谷歌API

function showMap(param1, param2) { 
    var strURL = "ShowSegmentOnMap.aspx?string1=" + param1 + "&string2=" + param2 + ""; 
    var mywindow = window.open(strURL, "", "width=1200,height=800,scrollbars=1,resizable=1,top=10,left=200"); 
} 

lat long然後傳遞到第2個aspx頁面,該頁面假設僅使用lat和long將一個Pin放置在地圖上。我已經硬編碼對於現在的緯度長值...只是試圖把地圖上並沒有任何運氣

<script src="http://maps.googleapis.com/maps/api/js?key=MY_KEY"></script> 
 
    
 
<script> 
 
    //var latValue = document.getElementById('lblsegment1'); 
 
    //var longValue = document.getElementById('lblsegment2'); 
 
     var latValue = 40.76; 
 
     var longValue = 111.89; 
 
     var map; 
 
      function initMap() { 
 
       var mapProp = { 
 
        center: new google.maps.LatLng(latValue, longValue), 
 
        zoom: 7, 
 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
 
       }; 
 
       var map = new google.maps.Map(document.getElementById("googleMap"), mapProp); 
 
      } 
 
      
 
     
 
      function loadScript() { 
 
       var script = document.createElement("script"); 
 
       script.type = "text/javascript"; 
 
       script.src = "http://maps.googleapis.com/maps/api/js?callback=initMap"; 
 
       document.body.appendChild(script); 
 
      } 
 

 
      window.onload = loadScript; 
 
    </script>
<div style="width:100%; height:100%"> 
 
    <div id="googleMap"></div></div>

+0

功能showMap(參數1 ,param2)var strURL =「ShowSegmentOnMap.aspx?string1 =」+ param1 +「&string2 =」+ param2 +「」; (strURL,「」,「width = 1200,height = 800,scrollbars = 1,resizable = 1,top = 10,left = 200」); var mywindow = window.open }。我得到彈出窗口,地圖閃爍一秒鐘然後OOps消息 – Frank0x4c

回答

0

<script> 
 

 
     $(document).ready(function() { 
 

 
      var latValue = document.getElementById('hflat').value; 
 

 
      var longValue = document.getElementById('hflng').value; 
 

 
      console.log(latValue); 
 

 
      var map; 
 

 
      initMap(); 
 

 
      function initMap() { 
 

 
       position = { lat: 40.72072, lng: -111.901066 }; 
 

 
       map = new google.maps.Map(document.getElementById("map"), { 
 
        zoom: 15, 
 
        zoomEnd: function (e) { console.log(e.sender.zoom()); }, 
 
        center: position, 
 
        mapTypeId: google.maps.MapTypeId.HYBRID 
 

 
       }); 
 

 
       marker = new google.maps.Marker({ 
 
        position: position, 
 
        map: map, 
 
        draggable: true, 
 
       }); 
 

 
       map.setCenter(marker.position); 
 

 
       marker.setMap(map); 
 
      } 
 
     }); 
 
       
 

 
    </script>
<body> 
 
    <form id="form1" runat="server"> 
 
     <div style="width: 100%; height: 100%"> 
 
      <div id="map" class="col-sm-12" style="width: 95%; height: 95%;">Map</div> 
 
     </div> 
 

 
     <asp:HiddenField ID="hflat" runat="server" /> 
 
     <asp:HiddenField ID="hflng" runat="server" /> 
 
    </form> 
 
</body>

+0

上述代碼放在你的aspx文件中,在後面的代碼中添加這兩行以從JS文件中讀取經緯度值。 .....希望這可以幫助別人.... this.hflat.Value = Request.QueryString [「lat」]; this.hflng.Value = Request.QueryString [「lng」]; – Frank0x4c