Последние несколько недель мы работали над приложением Google Maps API v3, когда заметили, что перестало работать событие нажатия на маркер одного типа. Мы изменили размер и увеличили количество этих маркеров, предположив, что наш код был плохим, но восстановление не решило проблему.
Наш код был довольно прост. После создания маркера (в данном примере называемого obj) мы сделаем следующее:
google.maps.event.addListener(obj, 'click',
function(coords){ localClick(coords, id); });
localClick
является одной из наших функций, alert('click!');
также ничего не дало.
После нескольких дней чесания наших голов мы заметили нечто странное: некоторые маркеры работали . Затем мы заметили горизонтальную линию почти невидимых маркеров, которые можно было нажимать, но в неправильном месте:
![enter image description here](https://i.stack.imgur.com/9Zcf6.png)
Это происходит во всех браузерах на OSX (мы не пробовали на Windows или Linux).
Одним из решений было указать версию API, которую вы используете для v3.2. Это не идеально, так как мы хотели бы оставаться в курсе. И до недавнего времени он работал над последней версией (v3.4).
Звоните в API карт Google вот так, и он не работает:
$.getScript("https://maps-api-ssl.google.com/maps/api/js?
sensor=false&callback=mapLoaded");
Вот так и все замечательно:
$.getScript("https://maps-api-ssl.google.com/maps/api/js?
sensor=false&v=3.2&callback=mapLoaded");
Мы озадачены.
К сожалению, мы не можем опубликовать код или рабочую демонстрацию (я знаю, что это уменьшает частоту ответов, требования клиентов).