воскресенье, 29 марта 2009 г.

Добавляем маркер на карту используя API Яндекс.Карт

В этой заметке я рассмотрю вопрос о том, как добавить маркер для обозначения точки на карту.


В предыдущих заметках мы получили вид простейшей карты и добавили на неё элементы управления .


В результате у нас получился следующий код:


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”



“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”Content-Type” content=”text/html” />

<script src=”http://api-maps.yandex.ru/0.8/?key=



AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw==”

type=”text/javascript”></script>

<script type=”text/javascript” charset=”utf-8″>


var map;



function init () {

map = new YMaps.Map( document.getElementById(”YMapsID”) );

map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13, YMaps.MapType.MAP);

map.addControl(new YMaps.TypeControl());



map.addControl(new YMaps.ToolBar());

map.addControl(new YMaps.Zoom());

map.addControl(new YMaps.MiniMap());

map.addControl(new YMaps.ScaleLine());}



</script>

</head>

<body onload=”init();”>

<div id=”YMapsID” style=”height:400px; width:600px;”></div>

</body>

</html>

Теперь мы добавим маркер на карту для обозначения объекта, например, отметим на карте Нижнего Новгорода, где находиться театр оперы и балета им. А.С. Пушкина.

Для начала нужно узнать координаты.

Это можно сделать, используя сервис определения координат, расположенный по адресу  http://api.yandex.ru/maps/tools/getlonglat.xml

Введя в строку поиска адрес: Нижний Новгород, Белинского ул., д. 59, мы получим искомые координаты в формате "долгота, широта" 44.017152,56.315455

Для добавления маркера на карту нужно в наш код добавить три строчки:

var point = new YMaps.GeoPoint(44.017152,56.315455);

var placemark = new YMaps.Placemark(point);

map.addOverlay(placemark);

В первой строке мы задаем координаты точки для маркера.

В следующей строке мы передаем конструктору YMaps.Placemark координаты географической точки, а также он может принимать  список параметров, которые необходимо к этой точке применить.

Третья строка добавляет метку на карту.

Метки интерактивны, по ним можно щелкать мышью и передвигать. По умолчанию метки ожидают событие "click", по которому слушатели событий могут, например, показать балун (информационное окно).

Полный код примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html" />

<script src="http://api-maps.yandex.ru/0.8/?key=

AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw=="

type="text/javascript"></script>

<script type="text/javascript" charset="utf-8">

var map;

function init () {

map = new YMaps.Map( document.getElementById("YMapsID") );

map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13,
YMaps.MapType.MAP);


map.addControl(new YMaps.TypeControl());

map.addControl(new YMaps.ToolBar());

map.addControl(new YMaps.Zoom());

map.addControl(new YMaps.MiniMap());

map.addControl(new YMaps.ScaleLine());

var point = new YMaps.GeoPoint(44.017152,56.315455);

var placemark = new YMaps.Placemark(point);

map.addOverlay(placemark);

}

</script>

</head>

<body onload="init();">

<div id="YMapsID" style="height:400px; width:600px;"></div>

</body>

</html>
Загрузив данную страницу в браузере мы увидим

Пример Яндекс.Карты с маркером

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

Для создания значка необходимо задать изображение значка, его размер и его смещение относительно позиции метки.

Простейшие значки создаются на основе стандартных стилей, встроенных в API. Для значков предусмотрены различные цветовые решения.

Некоторые простейшие значки встроенные в API Яндекс.Карт:

default#whitePoint

default#greenPoint

default#redPoint

default#yellowPoint

default#darkbluePoint

default#nightPoint

default#greyPoint

default#bluePoint

default#orangePoint

default#darkorangePoint

default#pinkPoint

default#violetPoint

В значок метки можно помещать текстовое содержимое. Стандартные значки меток растягиваются по ширине и высоте в зависимости от содержимого. Значок растягивается до определенного значения, которое прописано как значение по умолчанию.

С помощью метода setIconContent() можно изменять содержимое значка метки

Например, placemark.setIconContent("Театр оперы и балета");

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

Это делается с помощью класса YMaps.IconStyle.

Для создания нового значка необходимо создать новый стиль с помощью конструктора класса YMaps.Style. Этот класс содержит набор данных, которые определяют внешний вид различных объектов, помещаемых на карту, в частности, стиль для отображения значка.

Также может понадобиться задание стиля для тени значка.

После этого его можно использовать.

Для примера создадим значок для обозначения тетра.

var s = new YMaps.Style(); - определяем стиль s

s.iconStyle = new YMaps.IconStyle();

s.iconStyle.offset = new YMaps.Point(-15, -15); - определяем смещение значка от местоположения точки токки

s.iconStyle.href = "files/theater.png"; - файл с изображением значка

s.iconStyle.size = new YMaps.Point(30, 30); - задаем размер значка

Изменяем строку    var placemark = new YMaps.Placemark(point); добавляем созданный стиль

var placemark = new YMaps.Placemark(point, {style: s});

Изменим также центр карты map.setCenter(new YMaps.GeoPoint(44.017152,56.315455), 15,
YMaps.MapType.MAP);


Загружаем измененную страницу в браузере

Пример Яндекс.Карты с собственным маркером

Полный код с исправлениями

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html" />

<script src="http://api-maps.yandex.ru/0.8/?key=

AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw=="

type="text/javascript"></script>

<script type="text/javascript" charset="utf-8">

var map;

function init () {

map = new YMaps.Map( document.getElementById("YMapsID") );

map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13,
YMaps.MapType.MAP);


var s = new YMaps.Style();

s.iconStyle = new YMaps.IconStyle();

s.iconStyle.offset = new YMaps.Point(-15, -15);

s.iconStyle.href = "files/theater.png";

s.iconStyle.size = new YMaps.Point(30, 30);



map.addControl(new YMaps.TypeControl());

map.addControl(new YMaps.ToolBar());

map.addControl(new YMaps.Zoom());

map.addControl(new YMaps.MiniMap());

map.addControl(new YMaps.ScaleLine());

var point = new YMaps.GeoPoint(44.017152,56.315455);

var placemark = new YMaps.Placemark(point, {style: s});

map.addOverlay(placemark);

}

</script>

</head>

<body onload="init();">

<div id="YMapsID" style="height:400px; width:600px;"></div>

</body>

</html>

Подробнее узнать о добавлении меток на карту можно по адресу http://api.yandex.ru/maps/jsapi/doc/dg/concepts/markers.xml

суббота, 28 марта 2009 г.

Новый инструмент для определения координат объекта

Недавно на сайте API Яндекс.Карт появился инструмент для определения географических координат объектов.

Он расположен по адресу http://api.yandex.ru/maps/tools/getlonglat.xml

В строке поиска Вы вводите название географического объекта, координаты которого Вы хотите определить.

Координаты в формате "долгота, широта" будут указаны в поле под картой.

Например, мы ищем координаты театра оперы и балета им. А.С. Пушкина в Нижнем Новгороде.

В строку поиска вводим адрес: Нижний Новгород, Белинского ул., д. 59

Получаем искомые координаты: 44.017152,56.315455

Определение координат

Также возможно перетащить метку в то место, координаты которого мы хотим узнать.

Масштаб изображения можно менять с помощью колесика мыши.

Добавляем маркер на карту используюя API Google Maps

В предыдущих двух заметках об использовании APIGoogle Maps мы рассмотрели как создать простейшую карту и добавить на нее элементы управления.

В этой части мы научимся добавлять маркеры на карту для обозначения точек.

Возьмем код из предыдущей заметки «Добавляем элементы управления на карту Google Maps».

Повторяю его здесь.

<!DOCTYPE html “-//W3C//DTD XHTML 1.0 Strict//EN”"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”><html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”content-type” content=”text/html; charset=utf-8″/>

<title>Пример API Карт Google на языке JavaScript </title>

<script src=”http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ”
type=”text/javascript”></script>



<script type=”text/javascript”>

function initialize() {if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById(”map_canvas”));map.setCenter(new GLatLng(56.32811,44.0), 10);



map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());



}

}

</script>

</head>

<body onload=”initialize()” onunload=”GUnload()”>

<div id=”map_canvas” style=”width: 500px; height: 300px”></div>

</body></html>



В начале, мы заменим элемент управления GLargeMapControl на GSmallMapControl, чтобы увеличить видимую область карты, а также мы закрепим прошлый материал.

Для этого необходимо заменить строку map.addControl(new GLargeMapControl()); на map.addControl(new GSmallMapControl ());

Теперь добавим обозначение маркера на нашу карту.

В начале нам нужно узнать координаты точки,  в которую мы собираемся размещать маркер.

Это можно сделать зайдя на сайт Google Maps по адресу http://maps.google.ru

В строке поиска ввести нужны нам адрес, а затем получить ссылку на карту из которой необходимо взять два числа после параметра sll=  значения широты (Latitude) и долготаы (Longitude)соответственно. И значение уровня масштаба z=.

Подробнее см. «Показ местоположения на Google Maps без программирования».

После этого нужно добавить строку кода var point = new GLatLng(56.293557,43.99898);, где вместо чисел 56.293557 и 43.99898 нужно подставить ваши значения.

Для добавления маркера на карту служит строка map.addOverlay(new GMarker(point));

По умолчанию для обозначения маркера используется значок G_DEFAULT_ICON, но можно задать и пользовательский значок.

В качестве аргументов конструктора GMarker используются GLatLng и необязательный объект GMarkerOptions.

Маркеры являются интерактивными  элементами. По умолчанию они получают, например, события click и служат для вывода информационных окон в приемниках событий.

И так в наш код после задания элементов управления мы добавили две строки

point = new GLatLng(56.293557,43.99898);map.addOverlay (new GMarker(point));



Загрузим страницу с примером в браузере и мы увидим следующее
Пример карты с маркером
Привожу полный код примера:
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

<title>Пример API Карт Google на языке JavaScript </title>

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ" type="text/javascript"></script>



<script type="text/javascript">

function initialize() {if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById("map_canvas"));map.setCenter(new GLatLng(56.32811,44.0), 10);



map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());



point = new GLatLng(56.293557,43.99898);map.addOverlay (new GMarker(point));



}}



</script></head>



<body onload="initialize()" onunload="GUnload()">

<div id="map_canvas" style="width: 500px; height: 300px"></div>

</body>

</html>



Теперь давайте попробуем добавить собственный значок в качестве маркера на карту.

Для создания значка нам потребуется два изображения – самого значка и его тень (значек для тени в нашем примере мы не используем).

Теневое изображение необходимо создавать под углом 45 градусов (вверх и вправо) от основного изображения, а левый нижний угол теневого изображения должен располагаться на одной прямой с левым нижним углом основного. Теневые изображения должны быть 24-разрядными PNG-изображениями с альфа-прозрачностью, чтобы передача границ изображения на карте была корректной.

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

Это делается следующим кодом.

var myexIcon = new GIcon();myexIcon.image = " files/cek_logo.png ";  -  задаем файл с изображением значка

myexIcon.iconSize = new GSize(38, 29); - размер значка

myexIcon.iconAnchor = new GPoint(19, 14); - смещение значка от точки

myexIcon.infoWindowAnchor = new GPoint(5, 5); - смещение информационного окна



После этого мы определяем объект GMarkerOptions

markerOptions = { icon:myexIcon };

И в строку map.addOverlay (new GMarker(point)); после point через запятую дописываем , markerOptions.

В результате у нас получается следующий код:

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

<title>Пример API Карт Google на языке JavaScript </title>

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ" type="text/javascript"></script>



<script type="text/javascript">



function initialize() {if (GBrowserIsCompatible()) {var map = new GMap2(document.getElementById("map_canvas"));

map.setCenter(new GLatLng(56.32811,44.0), 10);



map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());



var myexIcon = new GIcon();myexIcon.image = "files/cek_logo.png";

myexIcon.iconSize = new GSize(38, 29);

myexIcon.iconAnchor = new GPoint(19, 14);

myexIcon.infoWindowAnchor = new GPoint(5, 5);



markerOptions = { icon:myexIcon };

point = new GLatLng(56.293557,43.99898);map.addOverlay (new GMarker(point, markerOptions));



}

}



</script></head>



<body onload="initialize()" onunload="GUnload()">



<div id="map_canvas" style="width: 500px; height: 300px"></div>



</body></html>
Загружаем страницу в браузере и наблюдаемПример карты с марером пользователя


вторник, 24 марта 2009 г.

Добавляем элементы управления на карту Google Maps

В предидущей заметке из данного раздела Начинаем использование API-карт Google я рассказывал,  как получить ключ к API карт и приводил простейший пример использования.

В этой заметке мы разберем данный пример подробно и добавим к нему элементы управления картой.

Привожу код примера:

<!DOCTYPE html “-//W3C//DTD XHTML 1.0 Strict//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”content-type” content=”text/html; charset=utf-8?/>

<title>Пример API Карт Google на языке JavaScript </title>

<script src=”http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ”
type=”text/javascript”></script>



<script type=”text/javascript”>function initialize() {if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById(”map_canvas”));

map.setCenter(new GLatLng(56.32811,44.0), 10);

}

}



</script></head>

<body onload=”initialize()” onunload=”GUnload()”>

<div id=”map_canvas” style=”width: 500px; height: 300px”></div>

</body>

</html>



Если загрузить страницу с примером в браузере, то мы увидим следующее

Простой пример карты Google

Давайте рассмотрим исходный код.

Фрагмент кода:

<script src=”http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ”
type=”text/javascript”></script>


содержит URL-адрес расположения  файла JavaScript, содержащего все символы и определения, необходимые для работы с API Карт Google.

В нем также содержится ключ к API, полученный вами во время регистрации.

Для отображения карты на странице для неё необходимо зарезервировать место, это делает строка <div id=”map_canvas” style=”width: 500px; height: 300px”></div> в разделе BODY страницы.

Мы создаем элемент div с именем map_canvas и тут же с помощью стилей задаем его размер.

Для представления карты используется класс GMap2.

Объекты этого класса определяют единственную карту на странице. (Можно создать несколько экземпляров этого класса — каждый объект будет определять отдельную карту на странице.)

В нашем примере за это отвечает строка

var map = new GMap2(document.getElementById(”map_canvas”));

Создавая новый экземпляр карты, вы указываете DOM-узел на странице (обычно это элемент div) в качестве контейнера для карты. Узлы HTML являются дочерними для объекта document JavaScript, и мы получили ссылку на этот элемент с помощью метода document.getElementById().

Данный код определяет переменную (с именем map) и назначает ее новому объекту GMap2.

После создания карты мы должны её инициализировать.

Это делается в следующей строке

map.setCenter(new GLatLng(56.32811,44.0), 10);

Инициализация осуществляется с помощью метода setCenter() для карт. Для метода setCenter() необходимо указать координату GLatLng и коэффициент масштаба, а сам метод должен быть вызван до выполнения каких-либо операций с картой, в том числе до настройки атрибутов самой карты.

Загрузка карты выполняется в строке <body onload=”initialize()” onunload=”GUnload()”>

В процессе обработки HTML-страницы строится объектная модель документа (DOM), а все внешние изображения и сценарии встраиваются в объект document. Чтобы карта появлялась на странице лишь после полной загрузки последней, необходимо выполнить функцию, которая формирует объект GMap2, как только элемент <body> получит сообщение onload. Таким образом можно избежать непредсказуемого поведения и улучшить контроль над построением карты.

Атрибут onload — это пример обработчика событий.

Теперь рассмотрим какие элементы управления можно добавлять на карту.

API Карт поставляется вместе с набором встроенных элементов управления, которые можно использовать для карт:

GLargeMapControl — крупный элемент панорамирования и масштабирования Карт Google. По умолчанию этот элемент располагается в левом верхнем углу карты.

GLargeMapControl

GSmallMapControl — более мелкий элемент панорамирования и масштабирования Карт Google. По умолчанию этот элемент располагается в левом верхнем углу карты.

GSmallMapControl

GSmallZoomControl — небольшой элемент управления масштабом (без панорамирования), который применяется, например, в небольших окнах с увеличенным изображением карты, показывающих этапы маршрутов проезда на Картах Google.

GSmallZoomControl

GScaleControl — масштабная линейка

GScaleControl

GMapTypeControl — кнопки для переключения между типами карты (например, "Карта" и "Спутник").

GMapTypeControl

GHierarchicalMapTypeControl — вложенные кнопки и элементы меню для размещения средств выбора различных типов карт.

GHierarchicalMapTypeControl - 1GHierarchicalMapTypeControl-2

GOverviewMapControl — свертываемая обзорная карта в углу экрана.

GOverviewMapControl

Все эти элементы управления созданы на основе объекта GControl.

Карты Google поддерживают следующие типы карт:

G_NORMAL_MAP — обычная двумерная карта.

G_SATELLITE_MAP —карта со снимками со спутника.

G_HYBRID_MAP — комбинация снимков со спутника  и слоя обычной карты с наиболее важными объектами (дорогами, названиями городов).

G_PHYSICAL_MAP — физическая карта с информацией о рельефе местности.

Вы можете определить собственные настраиваемые типы карт, если у вас есть набор снимков или наложений.

По умолчанию API Карт Google поддерживает три типа карт: G_NORMAL_MAP, G_SATELLITE_MAP и G_HYBRID_MAP.

Для добавления элементов управления на карту используется метод addControl() объекта GMap2.

Давайте добавим на нашу карту следующие элементы управления: GLargeMapControl и GMapTypeControl.

Для этого необходимо добавить две строчки:

map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());



после строки map.setCenter(new GLatLng(56.32811,44.0), 10);

Загружаем страницу в браузере и наблюдаем следующее

Пример карты Google с элементами управления

Привожу полный текст кода:

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

<title>Пример API Карт Google на языке JavaScript </title>

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ"

type="text/javascript"></script>

<script type="text/javascript">



function initialize() {if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById("map_canvas"));

map.setCenter(new GLatLng(56.32811,44.0), 10);map.addControl(new GLargeMapControl());

map.addControl(new GMapTypeControl());



}}



</script></head>

<body onload="initialize()" onunload="GUnload()">

<div id="map_canvas" style="width: 500px; height: 300px"></div>

</body>

</html>



Более подробную информацию по работе с элементами управления Вы можете получить по адресу http://code.google.com/intl/ru/apis/maps/documentation/controls.html

воскресенье, 22 марта 2009 г.

Яндекс. Карты – добавляем элементы управления

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

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html” />
<script src=”http://api-maps.yandex.ru/0.8/?key=
AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw==”
type=”text/javascript”></script>
<script type=”text/javascript” charset=”utf-8?>
var map;
function init () {
map = new YMaps.Map( document.getElementById(”YMapsID”) );
map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13,

YMaps.MapType.MAP);
}
</script>
</head>

<body onload=”init();”>

<div id=”YMapsID” style=”height:400px; width:600px;”></div>

</body>

</html>

Давайте рассмотрим подробно что здесь есть, а затем разберемся с тем, как добавить на карту элементы управления.

В начале в секции HEAD документа располагается код:

<script src=”http://api-maps.yandex.ru/0.8/?key= AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw==” type=”text/javascript”></script>

Он задает ключ доступа к API Яндекс.Карт, по указанному URL находится JavaScript файл API Яндекс.Карт, содержащий все необходимые символы и определения для обращения к API. Каждая страница, использующая карты Яндекса, должна содержать подобный скрипт-блок.

Как получить ключь я уже рассказывал в заметке Начинаем изучать API Яндекс.Карт.

Для кооректной работы с браузером Internet Explorer 8 необходимо использовать следующий метатег:

<meta http-equiv="X-UA-Compatible" content="IE=7"/>

Для показа карты на странице резервируется место под нее, за это отвечает код:

<div id=”YMapsID” style=”height:400px; width:600px;”></div>,

расположенный в разделе BODY. Карта определяется специальным классом YMaps.Map.

Каждый экземпляр этого класса может представлять одну карту на странице. Для создания нового экземпляра используется оператор new. При создании экземпляра карты требуется указать DOM-элемент (обычно это элемент <div>), который послужит контейнером для карты.

В нашем примере карта определяется строкой кода:

map = new YMaps.Map( document.getElementById(”YMapsID”) );

Затем в следующей строке происходит инициализация карты с помощью метода setCenter() с указанием географических координат центра карты (44.0,56.32811), необходимого масштаба (13) и типа карты (YMaps.MapType.MAP).

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

API Яндекс.Карт поддерживает показ трех различных типов карт:

  • MAP - тип карты "Схема". Схематичное отображение объектов местности. Используется по умолчанию.

  • SATELLITE - тип карты "Спутник". Спутниковая карта местности.

  • HYBRID - тип карты "Гибрид". Спутниковая карта местности с нанесенными названиями географических объектов.


Для указания типа карты используется метод setType() объекта YMaps.Map:

map.setType(YMaps.MapType.SATELLITE);

Также возможно создание новых типов карты.

Масштаб карты (точнее, уровень масштабирования) определяет разрешение текущего изображения. Уровень масштабирования Яндекс.Карт принимает значения от 1 (на карте отображены все континенты) до 17 (видны отдельные здания).

Загрузка карты производится по событию onLoad, после того, как браузер отобразил остальные элементы страницы и уже выстроил DOM. Таким образом гарантируется, что контейнер карты <div> не окажется пустым в момент построения объектной модели и страница отобразится корректно.

Это строка <body onload=”init();”>

Если загрузить страницу с примером в браузере, мы увидим следующие:

Пример карты

Мы видим карту, но на ней нет элементов управления.

Давайте их добавим.

Стандартный набор элементов управления картой включает:

YMaps.ToolBar – панель инструментов с кнопками, позволяющими перемещать карту, увеличивать ее, а также измерять расстояние на карте с помощью специальной линейки;

YMaps.ToolBar

YMaps.Zoom – элемент масштабирования, который позволяет менять разрешение карты с определенным шагом;

YMaps.Zoom

YMaps.SmallZoom – компактный элемент масштабирования (без слайдера, только кнопки уменьшения и увеличения масштаба),

YMaps.SmallZoom

YMaps.MiniMap – элемент "обзорная карта" – карта показываемой местности, масштаб которой на несколько пунктов меньше основной;

YMaps.MiniMap

YMaps.TypeControl – элемент управления, позволяющий выбрать различные типы карты (например, гибрид или спутник);

YMaps.TypeControl

YMaps.ScaleLine – элемент карты "Масштабная линейка" (scale line), позволяющий измерять расстояние между объектами, не прибегая к вычислениям.

YMaps.ScaleLine

Все элементы управления основаны на классе YMaps.IControl.

Добавим на нашу карту следующие элементы: YMaps.TypeControl, YMaps.ToolBar, YMaps.Zoom, YMaps.MiniMap, YMaps.ScaleLine.

Для этого необходимо добавить следующие строки кода, после строки map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13, YMaps.MapType.MAP);

map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.MiniMap());
map.addControl(new YMaps.ScaleLine());


Загрузим страницу с полученным кодом в браузере и увидим следующее

Пример карты с элементами управления

В заключении заметки привожу новый код полностью:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html” />
<script src=”http://api-maps.yandex.ru/0.8/?key=
AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw==”
type=”text/javascript”></script><script type=”text/javascript” charset=”utf-8″>
var map;
function init () {
map = new YMaps.Map( document.getElementById(”YMapsID”) );
map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13,
YMaps.MapType.MAP);map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.MiniMap());
map.addControl(new YMaps.ScaleLine());}
</script>
</head>


<body onload=”init();”>
<div id=”YMapsID” style=”height:400px; width:600px;”></div>
</body>


</html>

Подробнее узнать об элементах управления API Яндекс.Карт можно по адресу: http://api.yandex.ru/maps/jsapi/doc/dg/concepts/map_controls.xml

суббота, 21 марта 2009 г.

Яндекс. Карты - обзор

27 августа 2004 года начал свою работу картографический сервис от Яндекса - Яндекс.Карты http://maps.yandex.ru.

В начале, на сайте были представлены подробные карты Москвы и Московской области, Санкт-Петербурга, Киева, России и Европы.

Карты городов были представлены с детализацией до дома с возможностью поиска по точным адресам.

Картографические материалы и программное обеспечение для Яндекс.Карт были предоставлены компанией «Резидент», с 1993 года специализирующейся в области географических информационных систем (ГИС).

В дальнейшем перечень карт городов бал расширен.

22 марта 2007 года Яндекс объявляет о запуске мобильной версии карты дорожных пробок.

В том же году 4 сентября у службы Яндекс.Карты появилось мобильное приложение. И все возможности Яндекс.Карт — поиск домов и улиц, просмотр московских пробок и спутниковых карт — стали доступны прямо с мобильного телефона.

22 мая 2007 года. На Яндексе появилась спутниковая карта Москвы и Московской области.

19 декабря 2007 года для всех городов, где есть метро и которые представлены на Яндекс.Картах, опубликованы схемы метрополитена. А у жителей Москвы, Санкт-Петербурга и Киева также появилась возможность поиска оптимального маршрута и расчета времени поездки.

И самое интересное для создания карт в интерет – это 13 ноября 2008 года. Когда Яндекс предложил владельцам сайтов набор инструментов для создания картографических сервисов — API Яндекс.Карт.

Теперь каждый сайт может установить у себя Яндекс.Карты и использовать их функционал по своему усмотрению.

В настоящее время (на март 2009 года) на сайте Яндекс.Карт доступны следующие карты городов:

В России:

Москва

Санкт-Петербург

Архангельск

Екатеринбург

Казань

Краснодар

Набережные Челны

Нижний Новгород

Новосибирск

Орёл

Ростов-на-Дону

Рязань

Самара

Тольятти

Тула

Уфа

Челябинск

В Украине:

Киев

Алушта

Винница

Днепропетровск

Донецк

Евпатория

Житомир

Запорожье

Ивано-Франковск

Керчь

Кировоград

Коктебель

Крым

Луганск

Луцк

Львов

Мариуполь

Николаев

Новый Свет

Одесса

Севастополь

Симферополь

Судак

Сумы

Ужгород

Феодосия

Харьков

Херсон

Ялта

Кроме этого доступны космические снимки высокого разрешения (1м - IKONOS) 24-х городов России:

Москва

Санкт-Петербург

Екатеринбург

Новосибирск

Ростов-на-Дону

Рязань

Орёл

Тула

Самара

Тольятти

Уфа

Казань

Ижевск

Оренбург

Ульяновск

Магнитогорск

Калининград

Омск

Нижний Новгород

Дзержинск

Томск

Кемерово

Барнаул

Новокузнецк

Сочи

И 3-х Украины:

Киев

Днепропетровск

Запорожье

Московская и Ленинградская области покрыты снимками на основе съемки IRS (Indian Remote Sensing satellite), пространственное разрешение которой ~6м.

Все снимки подготовлены ИТЦ«СканЭкс» (http://scanex.ru) и использованы для своего проекта Космоснимки (http://kosmosnimki.ru).

Карты имеют 17 масштабных уровней. Существует β-версия глобальных Яндекс.Карт по адресу http://beta-maps.yandex.ru

Начинаем использование API-карт Google

С этой заметки я начинаю рассказывать об использовании API-карт Google на Ваших сайтах.

Описание API-карт Google расположено по адресу http://code.google.com/intl/ru/apis/maps/

С начала необходимо получить специальный ключ.

Для получения ключа к API Карт требуется аккаунт Google, поскольку ваш ключ API будет связан с вашим аккаунтом. Получить собственный аккаунт можно по адресу https://www.google.com/accounts/ManageAccount

На данной странице выбрать ссылку Создайте аккаунт прямо сейчас.

И пройти процедуру регистрации

После этого войти в Ваш аккаунт введя полученные при регистрации логин и пароль (с этого шага начинают все те, кто уже зарегистрирован на Google).

Необходимо перейти по адресу http://code.google.com/intl/ru/apis/maps/signup.html для получения ключа к API-карт Google.

На данной странице необходимо прочитать и согласиться с условиями и положениями службы и ввести url-адрес Вашего сайта.

Лучше всего в качестве адреса сайта указывать только его домен (например, mysayt.ru).

Тогда ключ, зарегистрированный на отдельный домен, будет действителен для всех url внутри этого домена и для специальных поддоменов (например для "www").

Ключ, зарегистрированный на домен http:// mysayt.ru /, будет действителен для:

http:// mysayt.ru /
http://www. mysayt.ru /
http://www. mysayt.ru /page/
http://host1. mysayt.ru /
http://host2. mysayt.ru /page/

Обратите внимание, что ключ, зарегистрированный на домен http://www. mysayt.ru / будет действителен только для домена http://www. mysayt.ru и его разделов (например, http://www. mysayt.ru /page/).

Для работы на локальном компьютере с именем localhost, Вым необходимо зарегистрировать ключ для сайта с адресом http://localhost.

После нажатия на кнопку Сгенерировать ключ к API будет выполнена автоматическая генерация ключа и сформированы примеры использования данного ключа.

Например, ключ :

BQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ

Код JavaScript Maps API Example:
...
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true_or_false &amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ "
type="text/javascript">
</script>

...
Код Maps API for Flash Example:
...
<maps:Map xmlns:maps="com.google.maps.*" id="map" mapevent_mapready="onMapReady(event)" width="100%" height="100%"
key="ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ "/>

...

Код HTTP Service Example:

http://maps.google.com/maps/geo?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&output=json&oe=utf8\
&sensor=true_or_false&key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ


Приведу простейший код для использования API-карт Google:

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Пример API Карт Google на языке JavaScript </title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACHCJdlgAEGcD_flKUFEmVhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTeukKcKHF3ezmjTB0q6gzSBmoIUQ"
type="text/javascript"></script>
<script type="text/javascript">function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(56.32811,44.0), 10);
}
}


</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
</body>
</html>



Центр карты задается командой map.setCenter(new GLatLng(56.32811,44.0), 10); , где 10 - означает уровень масштаба.

Для тестирования и выполнения различных упражнений с API Яндекс.Карт на домашнем компьютере Вам будет необходимо установит локальный веб-сервер. Как это проще всего сделать я описал в специальной заметке в разделе База знаний.

Устанавливаем локальный web-сервер

Для экспериментов с API карт на домашнем компьютере может понадобиться установка локального web-сервера.

И для этого Вам необходимо установить и настроить у себя на компьютере несколько программ, предварительно загрузив их.

Как правило, это следующие программы:

- веб-сервер Apache,

- PHP,

- ActivePerl,

- база данных MySQL,

- phpMyAdmin - система управления MySQL через Web-интерфейс.

Для этого Вам потребуется закачать более 30 Мб на свой компьютер.

Кроме того, установка и настройка всех программ достаточно непростая задача для новичка.

Существует решение данной проблемы.

Это пакет программ для web-разработчика Денвер.

Размер дистрибутива базового (основного) пакета - 5.5 Мб.

Он включает в себя следующие компоненты:

  • Apache 2 с поддержкой SSL и mod_rewrite

  • PHP5: выполняемые файлы, модуль для веб-сервера Apache, дистрибутивный и адаптированный конфигурационный файл, библиотека GD, модули поддержки MySQL и sqLite.

  • MySQL5 с поддержкой InnoDB, транзакций и русских кодировок (windows-1251).

  • Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home, править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить.

  • Система управления запуском и завершением.

  • phpMyAdmin - система управления MySQL через Web-интерфейс.

  • Эмулятор sendmail (отладочная "заглушка", складывающая приходящие письма в /tmp).

  • Совместимость с Windows Vista (включая решение проблемы с read-only файлом hosts).

  • Явное разделение OpenSource-компонентов и файлов Денвера.

  • Расширенная выдача отладочной информации в случае ошибки установки.


Уменьшение общего размера произошло за счет удаления из дистрибутивов документации и редко используемых модулей.

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

Установить Денвер очень просто.

После его закачки, Вы запускаете данный файл.

В начале архив будет распакован во временную директорию (нужно немного подождать), а затем автоматически запустится инсталлятор.



В процессе установки Вам будет необходимо указать директорию, куда Денвер будет устанавливаться, по умолчанию C:WebServers.

В вести имя вертуального диска, который будет связан с только что указанной директорией. Рекомендуем вам согласиться со значением по умолчанию (Z:).

Виртуальный диск при старте создается в целях упрощения работы компонентов комплекса и улучшения совместимости с реальным Unix-хостером, присоединенный к основной директории.

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

Существуют два варианта:

1. Создавать виртуальный диск при загрузке машины (естественно, инсталлятор позаботится, чтобы это происходило автоматически), а при остановке серверов его (диск) не отключать. Предпочтительный вариант.

2. Создавать виртуальный диск только по явной команде старта комплекса (при щелчке по ярлыку запуска на Рабочем столе). И, соответственно, отключать диск от системы - при остановке серверов.

После завершения установки, Вы щелкаете по значку Start servers на Рабочем столе, а затем, дождавшись, когда все консольные окна исчезнут, открывайте браузер и набирайте в нем адрес: http://localhost. Выходить из Интернета при этом не обязательно.

Должна загрузиться тестовая страница.



Узнать более подробную информацию о комплекте для web-разработчика Денвер и загрузить его Вы можете по адресу: http://www.denwer.ru/

И еще несколько замечаний.

Данный пакет может быть установлен на flash-накопитель и запускаться с него.

Пакет имеет полную автономность.

  • Денвер устанавливается в один-единственный каталог и вне его ничего не изменяет. Он не пишет файлы в Windows-директорию и не "гадит" в Реестре. При желании вы можете даже поставить себе сразу два Денвера, и они не будут конфликтовать.

  • Никакие "сервисы" NT/2000 не "прописываются". Если вы запустили Денвер, то он работает. Если завершили - то перестает работать, не оставляя после себя следов.

  • Системе не нужен деинсталлятор - достаточно просто удалить каталог.

  • Установив Денвер однажды, вы можете затем просто переписывать его на другие машины (на произвольный диск в произвольную директорию). Это не приведет ни к каким побочным эффектам.

  • Все конфигурирование и настройка под конкретную машину происходит автоматически.


Денвер является отличным инструментом для отладки и проверки работоспособности различных скриптов.

Скачать базовый модуль Денвера и расширения для него можно на сайте проекта Джентльменский Набор Web-Разработчика

Начинаем изучать API Яндекс.Карт

С этой заметки я начинаю цикл публикаций по работе с API Яндекс.Карт.

Раздел на сайте Яндекса - http://api.yandex.ru/maps/ с подробным описанием.

Для того чтобы использовать API Яндекс.Карт на своем сайте необходимо получить уникальный ключ.

Для этого Вы должны:

иметь логин и пароль на Яндексе и быть авторизованным;
ознакомиться и принять условия Пользовательского соглашения;
указать URL вашего сайта в регистрационной форме.

Если Вы не были ранее зарегистрированы на Яндексе , то в начале Вам необходимо пройти процедуру регистрации по адресу http://passport.yandex.ru/passport?mode=register

После этого Вы должны выполнить процедуру авторизации на сайте Яндекса (с этого шага следует начить и всем тем, кто уже раннее был зарегистрирован там).

Затем Вы должны посетить страницу по адресу http://api.yandex.ru/maps/form.xml для получения ключа

И если Вы авторизованы то увидите форму для получения ключа.

В первой графе необходимо указать адрес сайта на котором будут исользоваться Яндекс.Карты.

Лучше всего в качестве адреса сайта указывать только его домен (например, mysayt.ru).

Тогда ключ, зарегистрированный на отдельный домен, будет действителен для всех url внутри этого домена и для специальных поддоменов (например для "www").

Ключ, зарегистрированный на домен http:// mysayt.ru /, будет действителен для:

http:// mysayt.ru /
http://www.mysayt.ru /
http://www.mysayt.ru /page/
http://host1.mysayt.ru /
http://host2.mysayt.ru /page/

Обратите внимание, что ключ, зарегистрированный на домен http://www. mysayt.ru / будет действителен только для домена http://www. mysayt.ru и его разделов (например, http://www. mysayt.ru /page/).

На локальном компьютере с доменом localhost можно использовать любой ключ.

Далее нужно прочитать и согласится с условиями пользовательского соглашения.

Нажать на кнопку Получить API-ключ.

После этого Вы получите с генерированный ключ и простой пример использования сервиса API Яндекс.Карт с Вашим ключом.

Например:

Ключ: AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw==

Пример кода:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html" />
<script src="http://api-maps.yandex.ru/0.8/?key=
AKgqHEkBAAAA-WzMYwIAeAeamm8ETZZZpdfp2R07eIuGyX4AAAAAAAAAAACjUCDoHIHZJ2pcl5mSL1zWVp2Myw=="
type="text/javascript"></script>



<script type="text/javascript" charset="utf-8">
var map;
function init () {
map = new YMaps.Map( document.getElementById("YMapsID") );
map.setCenter(new YMaps.GeoPoint(44.0,56.32811), 13,
YMaps.MapType.MAP);
};
</script>
</head>

<body onload="init();">
<div id="YMapsID" style="height:400px; width:600px;"></div>
</body>



</html>

Вы можете использовать данный пример кода для тестирования работы. При необходимости изменить координаты центра карты (44.0,56.32811) и уровень масштаба (13).

Все ранее полученные Вами ключи Вы всегда можете узнать на специальной странице http://api.yandex.ru/maps/keyslist.xml

Для тестирования и выполнения различных упражнений с API Яндекс.Карт на домашнем компьютере Вам будет необходимо установит локальный веб-сервер. Как это проще всего сделать я описал в специальной заметке в разделе База знаний.

среда, 18 марта 2009 г.

Google Maps - обзор сервиса

Карты Google (Google Maps (англ.), некоторое время назывался Google Local) — бесплатный картографический сервис компании Google. Google Maps доступен более чем на двадцати языках.

Google Maps тесно связан с приложением Google Earth - они используют одну базу снимков и других данных.

Адрес русской версии http://maps.google.ru

Появился Февраль 2005 г.

А чуть позже Июнь 2005 г. вышла программа Google Earth.

Сервис поддерживает несколько режимов отображения:

Карта - отображение картографических данных
Спутник - просмотр спутниковых и аэрофотоснимков (также можно включить Названия объектов - показ картографических данных - ранее это был режим «Гибрид»)
Ландшафт - карты, которые отображают физические элементы, например горы и растительность, с отмывкой (псевдо 3D рельеф)

Для некоторых городов (в развитых странах) доступен режим Google Street View (В русской версии называется Просмотр улиц) - просмотр и навигация по панорамным изображениям на уровне улиц.

Существует пользовательский режим работы с картами Google - Мои карты.

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

Размещать информацию, отображаемую поверх карт, например фотографии, данные о погоде или схемы движения общественного транспорта

Выбирать инструменты, созданные Google и другими разработчиками, например инструменты поиска недвижимости и бронирования номеров в гостиницах

Открывать файлы KML/KMZ, а также сохранять в этих форматах свои метки

С помощью Google Maps можно:

  • Отмечать любимые места на карте

  • Рисовать на карте линии и фигуры, чтобы отмечать пути и области

  • Добавлять собственный текст, фото и видео на карты

  • Делиться вашей картой с семьёй и друзьями


Также есть инструмент Google Map Maker, который даёт возможность пользователям дополнять содержание карт своими данными.

В Google Maps есть функция вывода карты для распечатки на принтере.

Вы также можете отослать на адрес электронной почты ссылку местоположения на карте.

И получить гиперссылку на текущий вид Google Maps или скопировать код HTML для использования на сайте фрейма с картами Google.

Существует возможность поиска по картам (по компаниям, местоположению, содержанию, созданному пользователями).

Интегрированные результаты поиска данных по компаниям - поиск адресов компаний и их контактной информации в одном месте на карте. Например, если вы введете запрос [ пицца в Москве ], на карте появятся адреса и номера телефонов соответствующих компаний. Также можно просмотреть дополнительную информацию, например часы работы, способы оплаты и отзывы о компании.

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

Google Transit (Общественный транспорт Google) - эта функция дает возможность получить детальные инструкции по проезду между любыми двумя точками в городе на общественном транспорте и дает оценку того, сколько времени это займет. С июля 2008 года Google Transit доступен для Москвы.

Управлять картой можно различными способами:

Быстрые клавиши - передвижение влево, вправо, вверх и вниз с помощью клавиш со стрелками.
Расширение области изображения с помощью клавиш Page Up, Page Down, Home и End.

Увеличение и уменьшение масштаба изображения с помощью клавиш с символами плюс (+) и минус (-).

Двойное нажатие кнопки мыши для увеличения или уменьшения масштаба - при двойном нажатии левой кнопки мыши изображение увеличивается, при двойном нажатии правой кнопки мыши - уменьшается (Ctrl + двойное нажатие для пользователей Macintosh).

Колесо прокрутки для увеличения или уменьшения масштаба - с помощью колеса прокрутки мыши можно увеличить или уменьшить масштаб изображения карт.

На картах доступны 20 уровней масштаба.

Некоторые карты городов России на Google Maps:












































































































Ссылка на картуКоординаты центра
Москва55.756136,37.616265
Санкт-Петербург59.939042,30.315785
Брянск53.31066,34.300368
Волгоград48.718079,44.504639
Воронеж51.660018,39.197416
Екатеринбург56.837823,60.596852
Казань55.796541,49.1082
Коломна55.094554,38.775773
Липецк52.605954,39.587688
Нижний Новгород56.329911,44.009213
Новосибирск55.057922,82.923431
Орел52.968453,36.069499
Пермь57.99716,56.23528
Подольск55.432039,37.551827
Рязань54.624661,39.738568
Самара53.202164,50.159626
Саратов51.533269,46.034539
Сергиев Посад56.310753,38.133051
Серпухов54.920606,37.416902
Тамбов52.7211,41.417351
Тверь56.857924,35.923834
Тольятти53.535564,49.409552
Тула54.19668,37.617831
Ульяновск54.321479,48.385656
Челябинск55.161024,61.402588

В феврале 2005 года появилось API для Google Maps с целью привлечь разработчиков к интеграции Google Maps в их веб-сайты с их геоданными.

Это бесплатная служба, на сегодняшний день, не содержащая рекламы, хотя и такая возможность зарезервирована на будущее в соглашении по их использованию.

Используя Google Maps API, возможно включить любую карту из Google Maps на внешнем сайте, управляя этой картой через JavaScript, например, для добавления маркеров географических точек, приближения или удаления при просмотре карт.

Для российских разработчиков отличительной особенностью Google Maps API от других аналогичных служб является то, что Google Maps и Google Maps API позволяют находить населённые пункты и другую информацию на территории России по их русским названиям.

Показ местоположения на Яндекс.Картах без программирования.

На блоге в разделе о Google Maps я уже писал как можно показать Ваше месторасположение без написания программного кода ссылка.

В этой заметке я расскажу как тоже самое можно сделать с использованием Яндекс.Карт.

Заходим на сайт по адресу http://maps.yandex.ru.

В строке поиска вводим нужный адрес, например, Москва, Чистопрудный бульвар, дом 19а.

Наблюдем на карте результат поиска.

Результат поиска Яндекс.Карты

Результат поиска Яндекс.Карты

Над картой в левой верхней части есть текст Ссылка на это место.

Нажимем мышкой на него получаем окно следующего содержания.

Окно со ссылками

Окно со ссылками

В верхней части окна расположена ссылка на карту Яндекса с результатами поиска, а в текстовом поле ниже html-код ссылки для вставки на Ваш сайт

<a href='http://maps.yandex.ru/map.xml?mapID=2000&mapX=4190704&mapY=7475779&scale=10&descx=4190704&descy=7475779&text=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F%2C%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C%20%D0%A7%D0%B8%D1%81%D1%82%D0%BE%D0%BF%D1%80%D1%83%D0%B4%D0%BD%D1%8B%D0%B9%20%D0%B1%D1%83%D0%BB%D1%8C%D0%B2%D0%B0%D1%80%2C%2019%D0%B0' target='_blank' alt='Ссылка на Яндекс.Карты'>Чистопрудный бульвар, 19а - Яндекс.Карты</a>

Из кода ссылки мы можем узнать координаты искомого объекта (в нашем случае дома по адресу Москва, Чистопрудный бульвар, дом 19а) на карте Яндекса.

Это параметры mapX=4190704 и mapY=7475779, а также значение масштаба карты scale=10.

Они могут быть нужны при размещении карты на Вашем сайте с использованием API Яндекс.Карты.

Показ местоположения на Google Maps без программирования

Можно легко показать Ваше местоположение с помощью карт Google не используя программирования.

Я расскажу Вам как это сделать.

Заходим на сайт Google Maps по адресу http://maps.google.ru

В строке поиска, в верхней части страницы, вводим адрес для поиска, например - , Москва, Чистопрудный бульвар, дом 19а ( адрес театра "Современник").

Получаем изображение карты с отметкой найденного.

Результат поиска Google MapsРезультат поиска Google Maps

Над картой, в правом верхнем углу находятся три иконки со ссылками: печать, отправить и ссылка.

Нажимаем на текст Ссылка, и получаем окно следующего содержания.

Окно со ссылками

Окно со ссылками

В этом окне и содержится необходимая нам информация. Во-второй строке формы HTML-код, который мы можем использовать на своем сайте для показа месторасположения.

<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.ru/maps?f=q&amp;source=s_q&amp;hl=ru&amp;geocode=&amp;q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%A7%D0%B8%D1%81%D1%82%D0%BE%D0%BF%D1%80%D1%83%D0%B4%D0%BD%D1%8B%D0%B9+%D0%B1%D1%83%D0%BB%D1%8C%D0%B2%D0%B0%D1%80,+%D0%B4%D0%BE%D0%BC+19%D0%B0&amp;sll=56.316537,44.011059&amp;sspn=0.032322,0.077162&amp;ie=UTF8&amp;z=14&amp;iwloc=addr&amp;ll=55.768028,37.649975&amp;output=embed&amp;s=AARTsJp0ccDFjZtaRNrg6ug05gaKestN_w"></iframe><br /><small><a href="http://maps.google.ru/maps?f=q&amp;source=embed&amp;hl=ru&amp;geocode=&amp;q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%A7%D0%B8%D1%81%D1%82%D0%BE%D0%BF%D1%80%D1%83%D0%B4%D0%BD%D1%8B%D0%B9+%D0%B1%D1%83%D0%BB%D1%8C%D0%B2%D0%B0%D1%80,+%D0%B4%D0%BE%D0%BC+19%D0%B0&amp;sll=56.316537,44.011059&amp;sspn=0.032322,0.077162&amp;ie=UTF8&amp;z=14&amp;iwloc=addr&amp;ll=55.768028,37.649975" style="color:#0000FF;text-align:left">Просмотреть увеличенную карту</a></small>

Нужно только вставить его в соответствующую страницу нашего сайта.
Просмотреть увеличенную карту

С помощью этого метода Вы можете разместить карту в заметке на блоге WordPress без использования специальных плагинов (код надо вставлять в режиме HTML).

Первое поле формы содержит ссылку на карту Google с результатом поиска нашего адреса

http://maps.google.ru/maps?f=q&source=s_q&hl=ru&geocode=&q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%A7%D0%B8%D1%81%D1%82%D0%BE%D0%BF%D1%80%D1%83%D0%B4%D0%BD%D1%8B%D0%B9+%D0%B1%D1%83%D0%BB%D1%8C%D0%B2%D0%B0%D1%80,+%D0%B4%D0%BE%D0%BC+19%D0%B0&sll=56.316537,44.011059&sspn=0.032322,0.077162&ie=UTF8&z=16&iwloc=addr

Ее мы можем послать по электронной почте или передать в каком либо электронном сообщении (ICQ, чат и др.).

Кроме этого и в HTML-коде и в ссылке содержаться точные координаты искомого объекта (в нашем случае дома по адресу Москва, Чистопрудный бульвар, дом 19а) на карте Google.

Это два числа после параметра sll= 56.316537 и 44.011059 - широта (Latitude) и долгота (Longitude)соответственно. И значение уровня масштаба z=14 в одном случае и z=16 в другом.

Они могут Вам потребоваться, если Вы решите размещать карту на своем сайте средствами API Карт Google.

Обзор существующих решений для публикации карт в Интернет

В этой первой заметке я хочу, чтобы Вы узнали что такое веб-картография.

И кратко перечислю основные существующие решения для создания и публикации карт в Интернет.

Веб-картография это область компьютерных технологий связанная с доставкой пространственных данных конечному пользователю, как в Интернет, так и с использованием сетей других типов.

В англоязычных источниках web mapping services (картографические веб-сервисы).

Рекомендую Вам прочитать статью о веб-картографии по адресу http://gis-lab.info/qa/webgis.html

Из нее Вы узнаете определение и задачи веб-картографии, познакомитесь с ее историей, получите информацию об основных видах приложений имеющих к ней отношение и другом.

После появления карт от Google появилась возможность бесплатного использования данных карт на других сайтах в интернет (используюя специальный API), а также отображать свои данные (местоположение, маршруты, фотографии и др.) по верх Google Maps.

Что дало бурный толчок к развитию картографических сервисов в сети Интернет.

Для жителей России проблемой использования данного сервиса является не полное покрытие территории. Картографическую информацию с домами имеют только несколько крупных городов.

На некоторые города есть детализация до улиц, но с плохой привязкой (при включении режима «гибрид», можно часто видеть дороги, проходящие через дома и прочие неточности).

В конце прошлого года компания Яндекс также открыла возможность использования своих карт на других сайтах.

В настоящее время (на март 2009 года) на Яндексе доступны подробные карты 17 российских городов и 29 городов Украины.

Кроме этого есть еще космические снимки высокого разрешения (1м - IKONOS) 24-х городов России и 3-х Украины, а также снимки Московской и Ленинградской областей, пространственное разрешение которых ~6м.

Присутствуют обзорные карты Росии, Европы и мира.

Существуют бесплатные программные решения для публикации карт в сети Интернет.

Примеры некоторых из них: MapServer - популярная среда создания картографических web-сервисов с открытым кодом,  Mapnik - открытая библиотека для рендеринга растровых карт из векторных данных и OpenLayers - OpenSource библиотека, написанная на JavaScript, предназначенная для создания карт на основе программного интерфейса (API), подобного GoogleMap API или MSN Virtual Earth API.