Привет всем.
Голову уже сломал ничего не получается
Подскажите как добавить метки в не функции карты
Внутри функции карты есть "addMarkers " он работает , а мне надо чтоб вне была функция добовления
Пример отдельной функцией не получается function test2 () {
при каждом срабатывании функции test2 () ну или я их размножу с разными массивами , чтоб добавлялись метки
Подскажите, код мой ниже
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=74c63257-6b31-44f8-9def-5768c734d1a5" type="text/javascript"></script>
<script src="https://yandex.st/jquery/2.2.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
ymaps.ready(function () {
var myMap = new ymaps.Map('map', {
center: [43.238439,76.94549],
zoom: 16,
behaviors: ['default', 'scrollZoom']},
{searchControlProvider: 'yandex#search'}
);
//Переназначение кнопок
$('#addMarkers').bind('click', addMarkers);
$('#removeMarkers').bind('click', removeMarkers);
// Создаем кластеризатор c красной иконкой (по умолчанию используются синяя).
// и добавляем кластеризатор на карту.
var clusterer = new ymaps.Clusterer({preset: 'islands#redClusterIcons'});
myMap.geoObjects.add(clusterer);
// Создаем коллекцию геообъектов.
// и добавляем коллекцию геообъектов на карту.
collection = new ymaps.GeoObjectCollection();
myMap.geoObjects.add(collection);
//+-----------------------------+
//| Генерация меток на карте |
//+-----------------------------+
function addMarkers () {
bounds = myMap.getBounds();
//+---------------------------------------------+
//| Генерируем метки из javascript-массив меток |
//+---------------------------------------------+
points = [
[43.2399,76.9323,11], [43.2355,76.9383,22], [43.2383,76.9321,33], [43.2422,76.9388,44],
[43.2368,76.9351,55], [43.2405,76.9526,66], [43.2399,76.9394,77], [43.2358,76.9434,88]
]
var newPlacemarks = [];
for(var i = 0, len = points.length; i < len; i++) {
myPlacemark = new ymaps.Placemark([points[i][0],points[i][1]], {iconContent: points[i][2],balloonContent: 'Содержимое балуна'}, {preset:'islands#blueStretchyIcon'});
newPlacemarks.push(myPlacemark);
}
// Размер ячейки кластеризатора = 80.
clusterer.options.set({gridSize: 80});
// Флаг, показывающий, нужно ли кластеризовать объекты.
useClusterer = document.getElementById("useClusterer").checked;
if (useClusterer) {
// Если используется кластеризатор, то добавляем кластер на карту,
// Добавлеяем массив меток в кластеризатор.
clusterer.add(newPlacemarks);
} else {
// если кластеризатор не используется
// добавляем на карту коллекцию геообъектов.
for (var i = 0, l = newPlacemarks.length; i < l; i++) {
collection.add(newPlacemarks[i]);
}
}
//Спозиционируем карту так, чтобы на ней были видны все объекты.
myMap.setBounds(clusterer.getBounds(), {checkZoomRange: true});
}
//+-----------------------------+
//| Удаление всех меток с карты |
//+-----------------------------+
function removeMarkers () {
clusterer.removeAll(); // Удаляем все метки из кластеризатора.
collection.removeAll(); // Удаляем все метки из коллекции.
}
});
function test2 () {
ymaps.addMarkers ();
/*var newPlacemarks = [];
myPlacemark = new ymaps.Placemark([43.2399,76.9394], {iconContent: '77',balloonContent: 'Содержимое балуна'}, {preset:'islands#blueStretchyIcon'});
newPlacemarks.push(myPlacemark);
//ymaps.clusterer.add(newPlacemarks);
ymaps.myMap.geoObjects.add(newPlacemarks);
collection = new ymaps.GeoObjectCollection();
ymaps.myMap.geoObjects.add(collection);*/
}
</script>
</head>
<body style="margin: 0px;padding: 0px;">
<input type="button" value="Тест 1" onclick="test1();return false;" >
<input type="button" value="Тест 2" onclick="test2();return false;" >
<BR>
<input type="checkbox" id="useClusterer" checked> Использовать кластеризатор
<input type="button" value="Добавить на карту" id="addMarkers">
<input type="button" value="Удалить все метки" id="removeMarkers">
<input type="textbox" id="id_points" value="[43.2399,76.9323,11], [43.2355,76.9383,22], [43.2383,76.9321,33], [43.2422,76.9388,44],[43.2368,76.9351,55], [43.2405,76.9526,66], [43.2399,76.9394,77], [43.2358,76.9434,88]">
<div id="map" style="position:fixed;width:100%; height:100%"></div>
</body>
</html>