2015-03-03 137 views
0

我想在我的網站上使用Google Maps API,並且我想將用戶輸入的地址轉換爲LatLng並在地圖上顯示位置。我已經知道我需要使用地理編碼功能,但由於某種原因,它不起作用。下面的代碼:API谷歌地圖Javascript地址到LatLng

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0; padding: 0 } 
    #map_canvas { height: 100% } 
</style> 
<script type="text/javascript" 
    src="http://maps.googleapis.com/maps/api/js?key=AIzaSyBSkRxYKDW33Zng3Kmp_7IC_nom9JEEVwc&sensor=FALSE"> 
</script> 
<script type="text/javascript"> 
    function initialize() { 
    var mapOptions = { 
     center: new google.maps.LatLng(-34.397, 150.644), 
     zoom: 8, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
    } 
    function moradaToLatLng(morada){ 

    var geocoder = new google.maps.Geocoder(); 
    if (geocoder) { 
     alert("1"); 
     geocoder.geocode({ 
      'address': address 
     }, function (results) { 
      alert("2"); 
      map.setCenter(results[0].geometry.location); 
      map.setZoom(16); 
      var m = document.getElementById("morada").innerHTML = results[0].geometry.location; 
      //criarPopup(address, results[0].geometry.location); 
     }); 
    } 
    } 
</script> 
</head> 
<body onload="initialize()"> 
<div id="map_canvas" style="width:100%; height:80%"></div> 
<div id="form"> 
    <input type="text" id="morada" value="Morada"> 
    <button id="btnMorada" onclick="moradaToLatLng(morada.value)">Ok</button> 
</div> 
</body> 
</html> 

出於某種原因,它不進入alert("2"); 編輯:我把我所有的代碼

+0

你能展現包括谷歌地圖API的js文件? – 2015-03-03 10:33:08

+0

@IfanfanHheli我包括我的所有代碼。 – 2015-03-03 10:40:12

回答

1

此行添加到您的代碼中的功能和顯示:

var address = document.getElementById('morada').value; 

如下:

function moradaToLatLng(morada) { 
      var address = document.getElementById('morada').value; 
      var geocoder = new google.maps.Geocoder(); 
      if (geocoder) { 
       alert("1"); 
       geocoder.geocode({ 
        'address': address 
       }, function (results) { 
        alert("2"); 
        map.setCenter(results[0].geometry.location); 
        map.setZoom(16); 
        var m = document.getElementById("morada").innerHTML = results[0].geometry.location; 
        //criarPopup(address, results[0].geometry.location); 
       }); 
      } 
     } 
+0

哦,上帝,我真的很討厭這些簡單的錯誤。非常感謝:D – 2015-03-03 10:53:45