我确信我的结构错了,但是“dragend”的事件监听器没有触发。当我将事件更改为bounds_changed或center_changed时,它仅在初始页面加载时触发。是否有任何突出的原因,为什么它的表现如此?
我基本上只想在每次重新定位地图时调用我的searchStores()函数,这样它就会对用户产生反应。
var map;
$(document).ready(function () {
var latlng = new google.maps.LatLng(36.2994410, -82.3409052);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// create the new map with options
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
$("#btnSearch").click(function(){
//Convert Address Into LatLng and Retrieve Address Near by
convertAddressToLatLng($("#txtAddress").val());
});
//send user to print/save view on click
$("#saveAs").click(function() {
window.location.href = "https://54.90.210.118/test.html?address=" + $("#txtAddress").val() + '&radius=' + $("#radiusO").val();
});
//WHAT IS GOING ON WITH THIS GUY???
google.maps.event.addListener(map, "dragend", function() {
alert('map dragged');
});
});
$(document).one('ready', function(){
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
latlngloc = new google.maps.LatLng(pos.lat, pos.lng);
map.setCenter(pos);
$("#divStores").html('');
searchStores(latlngloc);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
});
答案 0 :(得分:0)
感谢您的帮助!我发现问题出现在另一个函数上,最终清除了地图对象然后重新创建它。因此删除了监听器。 对于这种混乱感到抱歉,并且感谢你指出它在Jfiddle上有效。我认为这与我如何称呼它有关。 我是Javascript的新手,不得不一点一点地教自己。感谢您的帮助! =)