не уверен, в чем проблема с этим, я создал карту Google с пользовательскими маркерами несколько месяцев назад, используя v3 API. тогда информационные окна работали.
я портировал его на новый сайт и не могу открыть информационное окно, js предупреждает в нужной точке при создании события click, но событие click не запускает все, что я могу сделать, это перетащить карту, поэтому я посмотрел последний сайт, который я сделал, и там он сейчас тоже не работает.
, поэтому не уверен, как это исправить, код, который я должен создать для информационного окна, выглядит следующим образом:
markersArray.push(marker);
markersPosArray.push(myLatLng);
// Wrapping the event listener inside an anonymous function
// that we immediately invoke and passes the variable i to.
(function(myData, marker) {
alert('creating listener for: '+marker);
// Creating the event listener. It now has access to the values of
// myData and marker as they were during its creation
google.maps.event.addListener(marker, 'click', function() {
//create thecontent for the infowindow
alert('creating info window');
var content = 'hello there'; //createContent(myData);
infowindow.setContent(content);
infowindow.open(map, marker);
});
})(myData, marker);
может быть, что-то изменилось в API, который я не знаю?
тестовую страницу можно увидеть по адресу: http://www.disposalknowhow.com/locator.php
В локаторе используйте следующее для получения результатов:
тип: электрика / электроника - предмет: компьютеры - радиус: 100 - почтовый индекс: n11hl
предыдущий, который я сделал, который сейчас не работает, можно увидеть по адресу: http://www.focus -on-plants.com / locator_iconed.php
(можете использовать любые параметры здесь в форме)
UPDATE:
в ответ на Treffys ответ:
Информационное окно определяется при создании карты:
var myLatLng = new google.maps.LatLng(51.470, -0.00);
var bounds = new google.maps.LatLngBounds();
var geocoder = new google.maps.Geocoder();
var gotIcons = false;
var iconImageArray = {image:{}, size:{}, sizeX:{}, sizeY:{}, origin:{}, originX:{}, originY:{}, anchorpoint:{}, anchorpointX:{}, anchorpointY:{}};
var iconShadowArray = {image:{}, size:{}, sizeX:{}, sizeY:{}, origin:{}, originX:{}, originY:{}, anchorpoint:{}, anchorpointX:{}, anchorpointY:{}};
var iconShapeArray = {poly:{}, coord:{}};
var myIconArray = {icon:{}, shadow:{}, shape:{}}
var infowindow = new google.maps.InfoWindow();
var markersArray = []; // to store out markers
var markersPosArray = []; // to store lat/lang of markers for zooming function
var markersInfoArray = [];
// MAP OPTIONS
var myOptions = {
zoom: 5,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.BOTTOM
},
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.ZOOM_PAN,
position: google.maps.ControlPosition.TOP_RIGHT
},
scaleControl: true,
scaleControlOptions: {
position: google.maps.ControlPosition.TOP_LEFT
}
};//end map options
var map = new google.maps.Map(document.getElementById("loc_map"), myOptions);