Карта Google google.maps.event.trigger не работают на версии V3

#javascript #html #google-maps

#javascript #HTML #google-карты

Вопрос:

Я получил карту на сайте. и я пытаюсь выполнить щелчок по маркеру, нажав на ссылку (вне карты) сбоку от карты.

Вот код:

 <a id="ctl00_ctl00_cphMain_main_rptTouristique_ctl00_lnk" onclick="javascript:google.maps.event.trigger(markerArray[0],'click') ">Le Vieux Montréal</a>
  

Примечание: markerArray — это массив всех маркеров на карте.

Примечание: Я работаю с версией 3 API (текущей)

Комментарии:

1. Я нашел группу Google maps API отличной, я бы разместил там: groups.google.com/group/Google-Maps-API?pli=1

2. К сожалению, эта группа говорит о версии api, которая устарела. ( code.google.com/apis/maps/documentation/javascript/v2 /… )

3. Вот что на самом деле работает: вместо создания массива маркеров и InfoWindow я создаю каждый объект отдельно (как переменный marker0 = new google.maps. Маркер();). В функции, которую я вызываю, я использую объект self и всплывающее информационное окно: D.

Ответ №1:

Я уверен, что вам нужно запускать событие click извне, что означает, что вы запускаете функцию, поэтому вы можете вызвать ту же функцию, чтобы показать, что маркер запущен. Например,

 function callAfterMarker(){
  alert("Market Clicked");
}

google.maps.event.addListener(marker, 'click', function() {
    callAfterMarker();
});

<a href="javascript:callAfterMarker();">Address Name</a>";
  

Кроме того, у вас есть с собой массив маркеров, так что вы можете решить, с какого маркера необходимо вычислить и выполнить вашу функцию или позицию. (т. е.) Если вы хотите передать любую информацию, связанную с маркером, в эту функцию.

Надеюсь, это поможет!

Комментарии:

1. Это почти сработало! Но при вызове infoWindowArray[0].open я получил ошибку «b.get не является функцией». Печаль в моем сердце

Ответ №2:

Я не уверен, что это так, но я считаю, что вам нужно настроить функцию click.

 google.maps.event.addListener(marker, 'click', function() {
    map.setCenter(marker.position);
});

<a href="javascript:google.maps.event.trigger(markerArray[0],'click')">Address Name</a>";
  

Комментарии:

1. Это то, что я должен был сделать, чтобы маркер работал должным образом. Но моя проблема в том, что мне нужна внешняя ссылка на карту, чтобы сделать то же самое, что щелкнуть по маркеру.

2. Ссылка «<a href», которая у меня есть, будет находиться за пределами карты и все равно должна вызывать событие click. Прошу прощения, если я неправильно понимаю, что вы пытаетесь сделать, но это должно сработать. Другая вещь, которую вы можете сделать, это указать ссылку на функцию javascript, и у этой функции будет триггер события.