Jump to content

Онлайн карта с поиском


xSPiRiTx
 Share

Recommended Posts

ну вот мне нужно просто отобразить карту, которая автоматом определит города...так если я в Москве, она мне просто покажет Москву....на карте нужны естественно функции масштабирования, передвижения и, самое главное, поиск по улицам (поле для ввода текст). Я впритык не вижу ни одного такого примера

Link to comment
Share on other sites

ну вот мне нужно просто отобразить карту, которая автоматом определит города...так если я в Москве, она мне просто покажет Москву....на карте нужны естественно функции масштабирования, передвижения и, самое главное, поиск по улицам (поле для ввода текст). Я впритык не вижу ни одного такого примераё

Всё это можно сделать с помощью яндекс. карт. апи 2.0, но задача эта не тривиальная так как вам придётся немного попраграммировать на javascript, к счастью для вас, яндекс очень старается помочь новичкам, в этом не лёгком деле.

Что вам может помоч:

Клуб апи яндекс карт. В нём вам ответят на любые вопросы: http://clubs.ya.ru/mapsapi/

Блоги для поиска информации и примеров: http://ymaps.ya.ru/ http://ymapsapi.ya.ru/

Документация: http://api.yandex.ru/maps/doc/intro/concepts/intro.xml

Песочница: http://api.yandex.ru/maps/jsbox/

Конкретно по вашему вопросу вам поможет:

Определение координат: http://api.yandex.ru/maps/jsbox/geolocation_ip

Поиск по карте, использующий геокодирование: http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/geocoding.xml

Возможно кастомный элемент поиска: http://habrahabr.ru/post/161763/ http://ymapsapi.narod.ru/examples/controls/#search

  • Like 1
Link to comment
Share on other sites

получилось сделать все, кроме поиска:


<script src="//api-maps.yandex.ru/2.0/?load=package.standard〈=ru-RU" type="text/javascript"></script>
<script type="text/javascript">
ymaps.ready(init);
function init() {
// Данные о местоположении, определённом по IP
var geolocation = ymaps.geolocation,
// координаты
coords = [geolocation.latitude, geolocation.longitude],
myMap = new ymaps.Map('map', {
center: coords,
zoom: 10
});
myMap.controls
// Кнопка изменения масштаба.
.add('zoomControl', { left: 5, top: 5 })
// Список типов карты
.add('typeSelector')
// Кнопка изменения масштаба - компактный вариант.
// Расположим её справа.
.add('smallZoomControl', { right: 5, top: 75 })
// Стандартный набор кнопок
.add('mapTools', { left: 35, top: 5 });
myMap.geoObjects.add(
new ymaps.Placemark(
coords,
{
// В балуне: страна, город, регион.
balloonContentHeader: geolocation.country,
balloonContent: geolocation.city,
balloonContentFooter: geolocation.region
}
)
);
}
</script>
<div id="map" style="width:100%; height:500px"></div>

Edited by xSPiRiTx
Link to comment
Share on other sites

Когда-то ооочень давно пришлось мучиться с API Яндекс карт. Документация у них просто треш какой-то :)

Делал и поиск, если разберетесь в скрипте, пользуйтесь на здоровье http://jsfiddle.net/alexriz/8hfEr/

Там по событию blur инициируется поиск, внизу описан процесс

Link to comment
Share on other sites

Выдрал из своего скрипта, http://www.taxi-bez-probok.ru/zakaz-online.html и немного переделал пот твои запросы http://jsfiddle.net/rQ9SS/

Только вот подстановку возможных адресов (выподающий список) я делал средствами autocomplete jQuery, потому что мне нужны были очень определённые адреса и объекты.

Но ты можешь попробовать понять как автокомплит сделан например тут http://ymapsapi.narod.ru/examples/controls/#search если он вообще тебе нужен.

  • Like 1
Link to comment
Share on other sites

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

Неприятная особенность: если в поле поиска что-то ввести и нажать Enter он переводит на страницу 404....обработку эту можно как-нить отбурить, чтобы он не реагировал на Enter?

Link to comment
Share on other sites

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

Неприятная особенность: если в поле поиска что-то ввести и нажать Enter он переводит на страницу 404....обработку эту можно как-нить отбурить, чтобы он не реагировал на Enter?


<form action="" method="post" onsubmit="return false;">

Edited by deadrash
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy