Я использую Google Maps V3 API и использую его геокодер для обратного геокодирования точки на карте, на которой нажимает пользователь.
Загрузка функции геокодирования, когда DOM полностью загружен
$(function() {
reverse_geocode(40.714224,-73.961452);
});
Функция, выполняющая обратное геокодирование :
function reverse_geocode(lat,lng) {
var geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(10,-10);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
alert('asdasd');
} else {
alert("Geocoder failed due to: " + status);
}
});
}
Если Iпри первой загрузке страницы вызывается функция reverse_geocode
, все работает нормально, и вызывается alert()
.
Однако, если я вызываю reverse_geocode()
, только когда вызывается щелчком правой кнопкой мыши на карте и последующим щелчком мышина div, используя код ниже, ничего не происходит!Есть идеи, что пошло не так?
google.maps.event.addListener(map, "rightclick", function(event) {
//some code not shown
$("#info_rightclick_top").click(function(e) {
info_ok_handleclick();
});
});
function info_ok_handleclick() {
$("#info_ok").click(function(e) {
var lat = marker_search_location.getPosition().lat();
var lng = marker_search_location.getPosition().lng();
var latlng = lat + "_" + lng;
reverse_geocode(10,-10);
// some code hidden
});