katerino4ka
@katerino4ka
Веб разработчик

Как в google maps задавать markers для определенной карты?

На странице подключается несколько гугл карт, на каждой можно поставить не более двух маркеров. Карты добавляются пользователем, поэтому количество неизвестно заранее. Как добавить маркеры на конкретную карту я разобралась, но не могу понять как потом получить маркеры только определенной карты. Вот пример кода:

var map = Array();
var directionsDisplay = Array();
var markers = Array();

function handleApiReady(map_id) {
	var myLatlng = new google.maps.LatLng(56.323678, 44.0);
	var myOptions = {
	  zoom: 12,
	  disableDefaultUI: true,
	  center: myLatlng,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	
	map[map_id] = new google.maps.Map(document.getElementById("waymap_"+map_id+""), myOptions);	
	
	directionsDisplay[map_id]=new google.maps.DirectionsRenderer();
	map[map_id].addListener('click', function(event) {
		if(markers.length>1){
			deleteMarkers(map_id);
		}
		addMarker(event.latLng,map_id);
	});
}

// Adds a marker to the map and push to the array.
function addMarker(location,map_id) {
	var lat, lng;

	var marker = new google.maps.Marker({
		position: location,
		map: map[map_id]
	});
	lng=marker.getPosition().lng();
	lat=marker.getPosition().lat();
	
	markers.push(marker);
}


Пробовала сделать такую строку:
if(markers[map_id].length>1){
deleteMarkers(map_id);
}
но выходит ошибка
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы