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功能。请帮忙。告诉我哪里出错了,为什么它不检测点击事件。我在这
我说你有一个竞争条件,即当添加侦听器时,映射不会被初始化。我现在必须走了,所以我不能详细回答,希望它能帮助你!也许吧'