繁体   English   中英

API Google将Javascript地址映射到LatLng

[英]API Google Maps Javascript Address to LatLng

我正在尝试在我的网站上使用Google Maps API,并且希望将用户输入的地址转换为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"); 编辑:我把我所有的代码

将此行添加到您的代码中:

 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);
                });
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM