API Google Maps: перетаскивание маркета

Для перетаскивания маркера необходимо добавить атрибут draggable:true.

Пример кода google-карты с перетаскиваемым маркером:

<script>
var placemark = new google.maps.LatLng(45.038558,38.972702);
var marker;
var map;

function initialize() {
	var mapOptions = {
		zoom: 11,
		center: placemark
	};

	map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

	marker = new google.maps.Marker({
		map:map,
		draggable:true, //перетаскивание маркера
		animation: google.maps.Animation.DROP, //анимация маркера
		position: placemark
	});

	google.maps.event.addListener(marker, 'drag', function(event) {
		var lat = marker.getPosition().lat();
		var lng = marker.getPosition().lng();
		console.log(lat + ',' + lng); //выводим в консоль браузера новые координаты
	});
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>

Google Maps возвращает координаты NaN,NaN

В большинстве случаев API Google.Maps возвращает NaN,NaN, т.к. вы передаете строку.

Необходимо разделить ее на пару значений.

var coordinate = $k('#input_hidden_coordinate').val().split(',');
var latlng = new google.maps.LatLng(coordinate[0],coordinate[1]);
console.log(latlng);

API Яндекс.Карты: событие при нажатие правой клавиши

При клике правой клавишей мыши на Яндекс.Карте, определяем координаты щелчка и вызываем балун.

myMap.events.add('contextmenu', function (e) {
	if (!myMap.balloon.isOpen()) {
		var coords = e.get('coordPosition');
		myMap.balloon.open(coords, {
			contentHeader:'Добавление точки!',
			contentBody: 'Текст',
			contentFooter:'Координаты щелчка: ' + [
				coords[0].toPrecision(8),
				coords[1].toPrecision(8)
			].join(', ')
		});
	} else {
		myMap.balloon.close();
	}
});

Данный пример кода можно использовать при добавлении пользовательских координат.

API Яндекс.Карты: несколько маршрутов на одной карте

Несколько маршрутов на Yandex.Maps реализуется следующим образом:

undefined

API Яндекс.Карты: передача переменных в init

API Яндекс.Карты: передача параметров в init выглядит следующим образом:

ymaps.ready(init(var1, var2));

function init (var1, var2) {
    return function () {
        ...
    };
}

Регулярные выражения jQuery. Валидация

Обзор содержит несколько примеров валидации вводимых пользовательских данных средствами jQuery.

Валидация email:

var emailRegex = '^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'; 

Валидация логина:

var usernameRegex = '/^[a-z0-9_-]{3,16}$/';

Валидация пароля:

var passwordRegex = '/^[a-z0-9_-]{6,18}$/';

Регулярные выражения jQuery для чисел

Только целые числа

var intRegex = /[0-9 -()+]+$/;

Маска IP-адреса

var ipRegex = 'bd{1,3}.d{1,3}.d{1,3}.d{1,3}b';

Число в диапазоне 0-255

var num0to255Regex = '^([01][0-9][0-9]|2[0-4][0-9]|25[0-5])$';

Число в диапазоне 0-999

var num0to999Regex = '^([0-9]|[1-9][0-9]|[1-9][0-9][0-9])$';

Целые и десятичные

var floatRegex = '[-+]?([0-9]*.[0-9]+|[0-9]+)';

Любое число от 1 до 50 включительно

var number1to50Regex = /(^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$)/gm;

jQuery: Работа с набором элементов

Помимо манипуляций с выбранными элементами, jQuery позволяет работать с самим набором элементов: изменять его, а так же работать с элементами по отдельности.

jQuery

jQuery: загрузка скрипта

Функция jQuery.getScript загружает и исполняет js-файл, используя метод GET.

Пример кода:

$.getScript("http://url.ru/script.js", function() {
  // здесь ваш код
});

jQuery.closest()

Метод jQuery.closest возвращает первый parent от выбранного элемента.

В примере выбран тег span. Найдя список ul, closest ему присваивает цвет текста red.

$(document).ready(function(){
  $("span").closest("ul").css({"color":"red"});
});