Показать сообщение отдельно
  #4 (permalink)  
Старый 05.02.2013, 15:16
Новичок на форуме
Отправить личное сообщение для megagramm Посмотреть профиль Найти все сообщения от megagramm
 
Регистрация: 01.02.2013
Сообщений: 9

Спасибо за ответ. Пока пытаюсь понять как мне это в моем случае использовать. Много непонятных мне действий bind, prototype,call и || - вне if(). Есть с чем разбираться.

Сообщение от danik.js
а что за then ?
Не совсем понял вопрос. Рабтаю с yandex.maps api. Но вроде бы then - это не их метод, а jquery.
Думаю лучше мне будет привести пример. почикал все лишнее, чтобы не отвлекало.
function loadCourierHomeAddressPoints(ymaps) {
	for ( var k in courier) {
// это геокодирвание в яндекскартах. получаю координаты.
		var myGeocoder = ymaps.geocode(courier[k].address, {
			results : 1,
			boundedBy : cityBound,
			strictBounds : true
		});
// обрабатываем результаты, подготавливаем данные метки, создаем метрку.
		myGeocoder.then(function(res) {
			console.log('k=' + k);
			var courierHomeAddressPlacemarkContentLayot = ymaps.templateLayoutFactory.createClass('<div>'
					+ '<div style="color:red;background-color:rgba(255,255,255,0.7);">$[properties.courier], $[properties.name], $[properties.address]</div>'
					+ '');
			var properties = {
				courier : k,
				name : courier[k].name,
				address : courier[k].address
			};
			var options = {
				iconLayout : "default#imageWithContent",
				iconContentLayout : courierHomeAddressPlacemarkContentLayot,
				cursor : 'grab',
				hasBalloon : false,
				iconContentOffset : [ 0, -10 ], // смещение содержимого метки
				iconImageHref : '../tpl/img/points/pm' + colors[k].colorLabel + 'm.png',// метка курьера
			};
			// collectionCourierHomeAddress.add(res.geoObjects);
			coordinates = res.geoObjects.get(0).geometry.getCoordinates();// результат геокодирования - координаты
			courierHomeAddressPoint[k] = new ymaps.Placemark(coordinates, properties, options); // создаю метку
		}, function(err) {
		});
	}
}


Как видите я использую содержимое хеша courier. Но для того чтобы добраться до содержимого, мне необходимо оперировать k внутри функции. А для оптимизации еще и переменную шаблона вынести за пределы, чтобы не создавать ее всякий раз.

Последний раз редактировалось megagramm, 05.02.2013 в 15:18.
Ответить с цитированием