我在我的网站上使用基本的点击地理位置,它利用地图点击事件来获取坐标。它在Chrome,Firefox等甚至IE10上运行良好,但在IE9或IE10(兼容模式9)中,单击事件不会触发(双击缩放地图,但不点击)。地图上有一个多边形,它可以很好地捕获点击事件(如果删除多边形,仍然可以使用地图点击。)我知道APIv3不支持IE8,但IE9列为支持。没有记录控制台错误。 任何帮助或建议表示赞赏。
google.maps.event.addListener(map, 'click', function(e) {
var target = "http://maps.googleapis.com/maps/api/geocode/json";
var latLng = e.latLng.lat() + "," + e.latLng.lng();
console.log(latLng); // works here
$.ajax({
type: "GET",
url: target,
data: "latlng=" + latLng + "&sensor=false",
dataType: 'json',
success: function(data) {
console.log(data);
},
error: function(r, status, err) {
console.log(r);
console.log(status);
console.log(err);
}
});
问题解决了,那不是谷歌地图而是IE9 HTTP请求实施错误。它完全没有发送请求,因此完全没有执行任何回调。
有一个解决方案:https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js