2015-02-10 150 views
-1

我想知道是否有人可以告訴我爲什麼這個HTML代碼的作品,並進入我的數據庫...地址,停車場和街道掃描進入saveData()函數ok在下部。谷歌地圖自動完成地址功能

其他代碼的html頁面是類似的,但我得到一個錯誤...未捕獲的ReferenceError:saveData不是onclick。釷是在第二頁的HTML代碼是我得到的錯誤我想要的地址,停車場和streetsweeping進入savaData()函數。當我做document.getElementById(「地址」)。值的值顯示「地址」,但它不會進入數據庫? - >

 <!DOCTYPE html> 
     <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head> 
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
      <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
      <title>Saving User Location Parking Situation</title> 
      <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> 
      <script type="text/javascript"> 
      var marker; 
      var infowindow; 

      function initialize() { 
       var latlng = new google.maps.LatLng(33.884277, -118.325066); 
       var options = { 
       zoom: 18, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
       } 
       var map = new google.maps.Map(document.getElementById("map_canvas"), options); 
       var html = "<table>"+"<tr><td>Input your location and the parking situation</td></tr>"+"<tr><td>Address:</td> <td><input type='text' id='address' /></td></tr>"+"<tr><td>Parking:</td> <td><input type='text' id='parking' /></td> </tr>"+"<tr><td>Street Sweeping:</td> <td><input type='text' id='streetsweeping'/> </td> </tr>"+"<td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>"; 
      infowindow = new google.maps.InfoWindow({ 
      content: html 
      }); 

      google.maps.event.addListener(map, "click", function(event) { 
       marker = new google.maps.Marker({ 
        position: event.latLng, 
        map: map 
       }); 
       google.maps.event.addListener(marker, "click", function() { 
        infowindow.open(map, marker); 
       }); 
      }); 
      } 

      function saveData() { 

       var address = document.getElementById("address").value; 
       var parking = document.getElementById("parking").value; 
       var streetsweeping = document.getElementById("streetsweeping").value; 
       var latlng = marker.getPosition(); 

       var url = "phpsqlinfo_addrow.php?address=" + address + 
         "&parking=" + parking + "&streetsweeping=" + streetsweeping + "&lat=" + latlng.lat() + "&lng=" + latlng.lng(); 
       downloadUrl(url, function(data, responseCode) { 
       if (responseCode == 200 && data.length <= 1) { 
        infowindow.close(); 
        document.getElementById("message").innerHTML = "Location added."; 
       } 
       }); 
      } 

      function downloadUrl(url, callback) { 
       var request = window.ActiveXObject ? 
        new ActiveXObject('Microsoft.XMLHTTP') : 
        new XMLHttpRequest; 

       request.onreadystatechange = function() { 
       if (request.readyState == 4) { 
        request.onreadystatechange = doNothing; 
        callback(request.responseText, request.status); 
       } 
       }; 

       request.open('GET', url, true); 
       request.send(null); 
      } 

      function doNothing() {} 
      </script> 
      </head> 
      <body style="margin:0px; padding:0px;" onLoad="initialize()"> 
      <div id="map_canvas" style="width: 450px; height: 800px"></div> 
      <div id="message"><body><?php echo url ?></div> 
      </body> 
     </html> 




     <!DOCTYPE html> 
     <html> 
      <head> 
      <title>Place Autocomplete</title> 
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
      <meta charset="utf-8"> 
      <style> 
       html, body, #map-canvas { 
       height: 100%; 
       margin: 0px; 
       padding: 0px 
       } 
       .controls { 
       margin-top: 16px; 
       border: 1px solid transparent; 
       border-radius: 2px 0 0 2px; 
       box-sizing: border-box; 
       -moz-box-sizing: border-box; 
       height: 32px; 
       outline: none; 
       box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); 
       } 

       #pac-input { 
       background-color: #fff; 
       padding: 0 11px 0 13px; 
       width: 400px; 
       font-family: Roboto; 
       font-size: 15px; 
       font-weight: 300; 
       text-overflow: ellipsis; 
       } 

       #pac-input:focus { 
       border-color: #4d90fe; 
       margin-left: -1px; 
       padding-left: 14px; /* Regular padding-left + 1. */ 
       width: 401px; 
       } 

       .pac-container { 
       font-family: Roboto; 
       } 

       #type-selector { 
       color: #fff; 
       background-color: #4d90fe; 
       padding: 5px 11px 0px 11px; 
       } 

       #type-selector label { 
       font-family: Roboto; 
       font-size: 13px; 
       font-weight: 300; 
       } 
       fieldset { 
      display: block; 
      margin-left: 2px; 
      margin-right: 2px; 
      padding-top: 0.35em; 
      padding-bottom: 0.625em; 
      padding-left: 0.75em; 
      padding-right: 0.75em; 
      } 

     autocomplete { 
      font-style:normal; 
      font-weight:bold; 
     } 

     .gm-style-iw { 
      height: 350px; 
      width: 400px; 
     } 

     } 

      </style> 
      <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places, http://maps.google.com/maps/api/js?sensor=true"></script> 

      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
       <script src="geomaps.js"></script> 

      <script> 

      var marker; 
      var infowindow; 
      var address; 
     function initialize() { 
      var mapOptions = { 
      center: new google.maps.LatLng(33.884277, -118.325066), 
      zoom: 13 
      }; 
      var map = new google.maps.Map(document.getElementById('map-canvas'), 
      mapOptions); 

      var input = /** @type {HTMLInputElement} */(
       document.getElementById('pac-input')); 

      var types = document.getElementById('type-selector'); 
      map.controls[google.maps.ControlPosition.TOP_LEFT].push(input); 
      map.controls[google.maps.ControlPosition.TOP_LEFT].push(types); 

      var autocomplete = new google.maps.places.Autocomplete(input); 
      autocomplete.bindTo('bounds', map); 

      var infowindow = new google.maps.InfoWindow({ maxWidth: 600 }); 
      var marker = new google.maps.Marker({ 
      map: map, 
      anchorPoint: new google.maps.Point(0, -29) 
      }); 

      google.maps.event.addListener(autocomplete, 'place_changed', function() { 
      infowindow.close(); 
      marker.setVisible(false); 
      var place = autocomplete.getPlace(); 
      if (!place.geometry) { 
       return; 
      } 

      if (place.geometry.viewport) { 
       map.fitBounds(place.geometry.viewport); 
      } else { 
       map.setCenter(place.geometry.location); 
       map.setZoom(17); // Why 17? Because it looks good. 
      } 
      marker.setIcon(/** @type {google.maps.Icon} */({ 
       url: place.icon, 
       size: new google.maps.Size(71, 71), 
       origin: new google.maps.Point(0, 0), 
       anchor: new google.maps.Point(17, 34), 
       scaledSize: new google.maps.Size(35, 35) 
      })); 
      marker.setPosition(place.geometry.location); 
      marker.setVisible(true); 


      var html = "<form action='#'>"+"<table>"+"<tr><td>Input your location and the parking situation</td></tr>"+"<tr><td>Address:</td> <td><input type='text' id='address' value='"+place.formatted_address+"' disabled /></td></tr>"+"<tr><td>Parking:</td> <td><input type='text' id='parking' /></td> </tr>"+"<tr><td>Street Sweeping:</td> <td><input type='text' id='streetsweeping' /> </td> </tr>"+"<td><input type='button' value='Save & Close' onclick = 'saveData()'/></td></tr>"+"</form>"; 

      infowindow.setContent("<div id='iw'>" + html + "</div>"); 


     function saveData() { 

       var address = escape(document.getElementById("address").value); 
       console.log("address"); 
       var parking = document.getElementById("parking").value; 
       var streetsweeping = document.getElementById("streetsweeping").value; 
       var latlng = marker.getPosition(); 

       var url = "phpsqlinfo_addrow.php?address=" + address + 
         "&parking=" + parking + "&streetsweeping=" + streetsweeping + "&lat=" + latlng.lat() + "&lng=" + latlng.lng(); 

       downloadUrl(url, function(data, responseCode) { 
       if (responseCode == 200 && data.length <= 1) { 
        infowindow.close(); 
        document.getElementById("message").innerHTML = "Location added."; 
       } 
       }); 
      } 

      function downloadUrl(url, callback) { 
       var request = window.ActiveXObject ? 
        new ActiveXObject('Microsoft.XMLHTTP') : 
        new XMLHttpRequest; 

       request.onreadystatechange = function() { 
       if (request.readyState == 4) { 
        request.onreadystatechange = doNothing; 
        callback(request.responseText, request.status); 
       } 
       }; 

       request.open('GET', url, true); 
       request.send(null); 
      } 

      function doNothing() {} 

      infowindow.open(map, marker); 
      }); 
     } 

     google.maps.event.addDomListener(window, 'load', initialize); 


      </script> 
      </head> 
      <body> 
      <input id="pac-input" class="controls" type="text" 
       placeholder="Enter Your Address"> 

      <div id="map-canvas" style="width: 650px; height: 800px"></div> 
      <div id="message"></div> 
      </body> 
     </html> 

回答

0
See the window object we some times forget about but it has all control of where your at in the document and that allows to to access parts of your code and interact with it. 

function saveData() { 
} 

更改此...

window.saveData function { 
} 
+0

[這裏的示例](http://icandomywebsite.com/zeroparktickets/indexv07b.html)此代碼是一個更advaced地圖實用程序 – user3259530 2015-02-11 06:08:42

+0

謝謝你的工作。 – user3259530 2016-07-11 21:07:54

+0

非常感謝你的工作....編碼是如此複雜,但我正在學習。 – user3259530 2017-10-01 17:04:32

相關問題