(Пожалуйста, примите во внимание, что это не ответ, это то же решение, на которое уже отвечал Равиндранат Акила, для использования в более широком диапазоне решений [например, мобильных платформ], сконцентрированных на одном методе многократного использования без глобальных переменных)
У нас похожие проблемы с приложением Win 8.1 Mobile.Благодаря Равиндранату Акиле мы доработали решение, которое определено одним методом, а также проверили масштабирование и перемещение по центру карты.В любом случае иногда случалось так, что адрес, который мы получаем при нажатии карты, неправильный - улучшения приветствуются.
// code
{
// adding event method
addGoogleClickEnventHandler(map, function(e) {
// example code inside click event
var clickLocation = e.latLng;
getAddress(clickLocation);
});
}
// function
function addGoogleClickEnventHandler(googleEventableObject, handlingFunction) {
var boundsChanged = false;
var centerChanged = false;
var singleClick = false;
function runIfNotDblClick(obj) {
if(singleClick && !boundsChanged && !centerChanged){
handlingFunction(obj);
}
};
googleEventableObject.addListener('bounds_changed', function () { boundsChanged = true; });
googleEventableObject.addListener('center_changed', function () { centerChanged = true; });
googleEventableObject.addListener('dblclick', function () { singleClick = false; });
googleEventableObject.addListener('click', function(obj) {
singleClick = true;
setTimeout(function() {
runIfNotDblClick(obj);
}, 200);
boundsChanged = false;
centerChanged = false;
});
}