Javascript 谷歌api反向地理代码

Javascript 谷歌api反向地理代码,javascript,forms,google-maps,google-maps-api-3,Javascript,Forms,Google Maps,Google Maps Api 3,我的网站上有谷歌地图。用户可以拖动标记,地图将为我输入lat和lon到表单中。请参阅下面的代码。我希望能够从lat和lon获得地址,并将其放入我在“locationbox”的表格中 var映射; 函数初始化(){ var mylatng=new google.maps.LatLng(49.25302534866034,-102.04825518471148); 变量myOptions={ 缩放:3, 中心:myLatlng, mapTypeId:google.maps.mapTypeId.HY

我的网站上有谷歌地图。用户可以拖动标记,地图将为我输入lat和lon到表单中。请参阅下面的代码。我希望能够从lat和lon获得地址,并将其放入我在“locationbox”的表格中


var映射;
函数初始化(){
var mylatng=new google.maps.LatLng(49.25302534866034,-102.04825518471148);
变量myOptions={
缩放:3,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.HYBRID
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var marker=new google.maps.marker({
真的,
职位:myLatlng,
地图:地图,
标题:“你的位置”
});
google.maps.event.addListener(标记'dragend',函数(事件){
document.getElementById(“latbox”).value=this.getPosition().lat();
document.getElementById(“lngbox”).value=this.getPosition().lng();
});
}
我有另外一段代码来查找我从中获得的地址,但我就是不知道如何将它们混合在一起

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script type="text/javascript">

var geocoder = new google.maps.Geocoder();

var lat = "12.1234";

var long = "98.7654";

var latlng = new google.maps.LatLng(sLat, sLong);

geocoder.geocode({"latLng":latlng},function(data,status){

if(status == google.maps.GeocoderStatus.OK){

var add = data[1].formatted_address; //this is the full address

alert(add);

for(var i=0; i<data[1].address_components.length; i++){

if(results[1].address_components[i].types[0] == "administrative_area_level_1"){

alert(results[1].address_components[i].short_name); 

}

}

}

})

var geocoder=new google.maps.geocoder();
var lat=“12.1234”;
var long=“98.7654”;
var latlng=新的google.maps.latlng(sLat,sLong);
geocoder.geocode({“latLng”:latLng},函数(数据,状态){
if(status==google.maps.GeocoderStatus.OK){
var add=data[1]。格式化的_地址;//这是完整地址
警报(添加);

对于(var i=0;i我建议在
dragend
事件侦听器函数中调用反向地理编码器:

google.maps.event.addListener(marker, 'dragend', function (event) {
    document.getElementById("latbox").value = this.getPosition().lat();
    document.getElementById("lngbox").value = this.getPosition().lng();
    var latlng = this.getPosition();
    geocoder.geocode({
        "latLng": latlng
    }, function (data, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var add = data[1].formatted_address; //this is the full address
            // alert(add);
            for (var i = 0; i < data[1].address_components.length; i++) {
                if (data[1].address_components[i].types[0] == "administrative_area_level_1") {
                    document.getElementById('locationbox').value = data[1].address_components[i].short_name;
                }
            }
        }
    });
});



您是如何尝试将它们结合起来的?您真的多次包含API吗?我尝试在第一段代码中使用第二段代码的一部分。我没有将两段代码都放在一个文件中。我尝试从两段代码中生成一段代码。我只是根本不懂javascript,这让我很困惑。
      <div id="map_canvas" style="width: 450px; height: 450px; background-color: Black;"></div>
  <div id="latlong">
    <p><input size="20" type="text" id="latbox" name="lat" placeholder="Drag the marker on the map or type in the latitude"></p>
    <p><input size="20" type="text" id="lngbox" name="lon"  placeholder="Drag the marker on the map  or type in the longitude"></p>
  </div>
<input class="text_field" id="locationbox" name="location" placeholder="Location" type="text" >
google.maps.event.addListener(marker, 'dragend', function (event) {
    document.getElementById("latbox").value = this.getPosition().lat();
    document.getElementById("lngbox").value = this.getPosition().lng();
    var latlng = this.getPosition();
    geocoder.geocode({
        "latLng": latlng
    }, function (data, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var add = data[1].formatted_address; //this is the full address
            // alert(add);
            for (var i = 0; i < data[1].address_components.length; i++) {
                if (data[1].address_components[i].types[0] == "administrative_area_level_1") {
                    document.getElementById('locationbox').value = data[1].address_components[i].short_name;
                }
            }
        }
    });
});