Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.10.2016, 16:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

andrey3681,
хотя лучше сначала убрать все for, заменить на forEach, иначе строка 48 нерабочая

Последний раз редактировалось рони, 05.10.2016 в 16:23.
Ответить с цитированием
  #12 (permalink)  
Старый 05.10.2016, 16:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

andrey3681,
function initMap(array_coordinates, array_marker_info, arr_metro) {
    var map;
    map = new google.maps.Map(document.getElementById("map_canvas2"), {
        center: {
            lat: 55.75222,
            lng: 37.61556
        },
        zoom: 12,
        scrollwheel: false
    });
    var metro = [];
    arr_metro.forEach(function(el, i) {
        var ll = el.split(",");
        var lng = ll[1];
        if (lng.search(";") != -1) lng = lng.replace(";", "");
        var coordinates_metro = new google.maps.LatLng(ll[0], lng);
        metro[i] = new google.maps.Marker({
            position: coordinates_metro,
            map: map,
            title: "\u041c\u0435\u0442\u0440\u043e",
            visible: true,
            icon: "images/metro_flag.png"
        })
    });
    var markers = [];
    var infowindow = [];
    array_coordinates.forEach(function(el, i) {
        infowindow[i] = new google.maps.InfoWindow({
            content: array_marker_info[i]
        });
        var ll = el.split(",");
        var latlng = new google.maps.LatLng(ll[0], ll[1]);
        markers[i] = new google.maps.Marker({
            position: latlng,
            map: map,
            title: el,
            animation: google.maps.Animation.DROP,
            visible: true,
            icon: "images/beachflag.png"
        });
        markers[i].addListener("click", function() {
            console.log(i);
            infowindow[i].open(map, markers[i])
        })
    })
};
Ответить с цитированием
  #13 (permalink)  
Старый 05.10.2016, 17:08
Интересующийся
Отправить личное сообщение для andrey3681 Посмотреть профиль Найти все сообщения от andrey3681
 
Регистрация: 30.06.2016
Сообщений: 20

Пока писал на jsfiddle.net, нашел ошибку!
Ответить с цитированием
  #14 (permalink)  
Старый 13.12.2016, 22:10
Интересующийся
Отправить личное сообщение для andrey3681 Посмотреть профиль Найти все сообщения от andrey3681
 
Регистрация: 30.06.2016
Сообщений: 20

Добавляю маркеры метро, вокруг них окружность с определенным радиусом и если маркеры попадают в данную окружность, добавляются на карту. Нужно чтобы карта автоматически масштабировалась, чтобы было видно все добавленные на карту маркеры.
Помогите пожалуйста, нужно срочно

function initMap(array_coordinates, array_marker_info, arr_metro, metro_name, radius, array_marker_crossing) {
	var map;
	var radius_select_metro = radius;
		radius_select_metro = Number(radius_select_metro);
	map = new google.maps.Map(document.getElementById('map_canvas2'), {
		center: {lat: 55.7522200, lng: 37.6155600},
		zoom: 12,
		scrollwheel: false
	});
//Маркеры квартир	
	var markers = [];
	var infowindow = [];
	var col = array_coordinates.length;
	for (var i = 0; i < col; i++) {
		infowindow[i] = new google.maps.InfoWindow({ 
			content: array_marker_info[i]
		});
		var crossing = array_marker_crossing[i];
		if(crossing === "yes") {
			icon_appartment = 'images/beachflag2.png';
		}
		else {
			icon_appartment = 'images/beachflag.png';
		}
		var ll = array_coordinates[i].split(',');
		var latlng = new google.maps.LatLng(ll[0], ll[1]);
			markers[i] = new google.maps.Marker({
			position:latlng,
			map: map,
			title: array_coordinates[i],
			animation: google.maps.Animation.DROP,
			visible: true,
			icon: icon_appartment,
		});
		setInfoWindowHandlers(i);
		
	} 
	function setInfoWindowHandlers(i) {
		markers[i].addListener('click', function() {
			console.log(i);
			infowindow[i].open(map, markers[i]);
		});
	}
//Маркеры метро	
	var metro = [];
	var col_metro = arr_metro.length;
	for(var i = 0; i < col_metro; i++) {
		var ll = arr_metro[i].split(',');
		var lng = ll[1];
		if(lng.search(';') != -1) {
			lng = lng.replace(';', '');
		}
		var coordinates_metro = new google.maps.LatLng(ll[0], lng);
			metro[i] = new google.maps.Marker({
			position:coordinates_metro,
			map: map,
			title: metro_name[i],
			visible: true,
			icon: 'images/metro_flag.png'
		});
		
		var Circle = new google.maps.Circle({
		  strokeColor: '#FFA4A6',
		  strokeOpacity: 0.8,
		  strokeWeight: 2,
		  fillColor: '#B4B4B4',
		  fillOpacity: 0.35,
		  map: map,
		  center: coordinates_metro,
		  radius: radius_select_metro
		});
	}
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Maps API, как добавить текст к маркеру? drpozitiff Библиотеки/Тулкиты/Фреймворки 9 05.09.2016 11:35
js api, как у гугла и яндекса torsar Общие вопросы Javascript 4 17.05.2016 21:14
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25