0

不会被解雇,我使用谷歌地图API V3的JavaScript。我设法让我的网页上的地图。现在我需要在用户点击地图时执行反向地理编码。对于我已经写入的必要事件侦听器和反向地理编码代码谷歌地图API V3,单击事件在Java脚本的

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=My_Key&sensor=false"></script> 
<script type="text/javascript"> 
    var map; 
    function initialize() { 
    var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
    var mapOptions = { 
      zoom: 4, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
    } 
    google.maps.event.addListener(map, 'click', function(event) { 
    placeMarker(event.latLng); 
    var myLatLng = event.latLng; 
    var lat = myLatLng.lat(); 
    var lng = myLatLng.lng(); 
    var latlng = new google.maps.LatLng(lat, lng); 

    //Code to reverse geocode follows 
    geocoder.geocode({'latLng': latlng}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     if (results[1]) { 
      map.setZoom(11); 
      marker = new google.maps.Marker({ 
       position: latlng, 
       map: map 
      }); 
      infowindow.setContent(results[1].formatted_address); 
      infowindow.open(map, marker); 
      document.forms["wheregoing"]["start"].value=results[1].formatted_address; 
     } 
    } else { 
     alert("Geocoder failed due to: " + status); 
    } 
    }); 
    }); 


    function placeMarker(location) { 
    var marker = new google.maps.Marker({ 
     position: location, 
     map: map 
    }); 
    map.setCenter(location); 
    } 

上面提到的代码是为Java脚本。在HTML我已宣布其中地图应显示的地方如下

<div id="map_canvas"></div> 

我面临的问题是,当用户点击地图上的放置地标应放置在该点和地址应出现在在html表单中名为“start”的文本框,但它不会发生。地图正在网站上加载,但未检测到点击事件。 我正在本地主机上工作。我正在测试localhost上的这个map功能。请帮忙。告诉我哪里出错了,为什么它不检测点击事件。我在这

+0

我说你有一个竞争条件,即当添加侦听器时,映射不会被初始化。我现在必须走了,所以我不能详细回答,希望它能帮助你!也许吧'