2016-08-02 109 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