Я объединил ответ @ samshull выше (должным образом проголосовал!) С информацией из здесь , чтобы InfoWindow появилось там, где курсор мыши наведен на строку:
// Open the InfoWindow on mouseover:
google.maps.event.addListener(line, 'mouseover', function(e) {
infoWindow.setPosition(e.latLng);
infoWindow.setContent("You are at " + e.latLng);
infoWindow.open(map);
});
// Close the InfoWindow on mouseout:
google.maps.event.addListener(line, 'mouseout', function() {
infoWindow.close();
});
Здесь line
- ваш PolyLine объект; map
ваш Карта объект; infoWindow
- это ваш объект InfoWindow, который я только что создал:
var infoWindow = new google.maps.InfoWindow();
Я также следую этому совету , повторно используя один и тот же объект InfoWindow для всех моих полилиний вместо создания нового для каждой строки:
Лучшие практики: для лучшего пользовательского опыта, только одно информационное окно
должен быть открыт на карте в любое время. Несколько информационных окон делают
карта кажется загроможденной. Если вам нужно только одно информационное окно одновременно,
Вы можете создать только один объект InfoWindow и открыть его на разных
местоположения или маркеры на событиях карты, таких как щелчки пользователя. Если вы делаете
нужно более одного информационного окна, вы можете отобразить несколько InfoWindow
объекты одновременно.
Обратите внимание, что infoWindow.setContent()
принимает строку. Поэтому вызовите toString()
для числовой переменной, если вы хотите отобразить число в информационном окне.
Я рассматриваю все это как несовершенный обходной путь до тех пор, пока Google Карты, надеюсь, однажды не добавят свойство title
к PolylineOptions , как они уже сделали для MarkerOptions .