2015-02-10 4 views
-1

Мне было интересно, может ли кто-нибудь сказать мне, почему этот код html работает и входит в мою базу данных ... Адрес, парковка и уличное движение идут в функцию saveData() в нижней части.Google maps autocomplete address to function

Другой код html-кода похож, но я получаю сообщение об ошибке ... Uncaught ReferenceError: saveData не onclick. Th находится на второй странице html-кода, где я получаю ошибку, я хочу, чтобы адрес, парковка и streetweeping вошли в функцию 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) Этот код является более скорректированные карты утилиты – user3259530

+0

Спасибо, что сработали. – user3259530

+0

Спасибо, что сработал .... кодирование настолько сложное, но я учусь. – user3259530