API谷歌地图Javascript地址到LatLng

问题描述:

我想在我的网站上使用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

此行添加到您的代码中的功能和显示:

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